PostgreSQL基础CRUD

PostgreSQL 10.18

Spring Boot 2.5.3

postgresql-42.2.23.jar

--

 

建立 Spring Boot项目,选择 依赖包:PostgreSQL Driver等。

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <scope>runtime</scope>
</dependency>

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <optional>true</optional>
</dependency>

https://start.spring.io/ 选择依赖包:

 

检查postgresql依赖包:

 

添加数据库、数据表,测试基础的CRUD:

-- PostgreSQL 10.18 on Windows 10
-- 创建数据库 lib1
create database lib1;

-- 创建表 tab1
create table tab1(name varchar(100), age integer, id bigint generated by default as identity primary key);

使用psql命令进入 PostgreSQL控制台 再执行脚本 或  使用pgAdmin工具。

 

测试程序:

/**
 * 手动连接数据库
 * @author ben
 * @date 2021-11-03 22:54:35 CST
 */
@Component
public class DbConn implements ApplicationRunner {

	@Override
	public void run(ApplicationArguments args) throws Exception {
		Connection conn = null;
		Statement stmt = null;
		
		// 属性
		String url = "jdbc:postgresql://localhost:5432/lib1";
		String uname = "postgres";
		String pwd = "123456";
		
		Class.forName("org.postgresql.Driver");
		
		conn = DriverManager.getConnection(url, uname, pwd);
		System.out.println("数据库连接成功!conn=" + conn);
		
		// 试验 CRUD
		
		stmt = conn.createStatement();
		System.out.println("stmt=" + stmt);
		
		// 成功:新增语句,返回false
		boolean ret1 = stmt.execute("INSERT INTO tab1(name,age) VALUES ('s.boot." + System.currentTimeMillis() + "', 20);");
		System.out.println("ret1=" + ret1);
		
		// 停顿下,去查询数据库
		TimeUnit.SECONDS.sleep(5);
		
		ResultSet rs = stmt.executeQuery("SELECT id,name,age FROM tab1;");
		System.out.println("rs=" + rs);
		while(rs.next()) {
			Tab1 t = new Tab1();
			// 从1开始
			t.setId(rs.getLong(1));
			t.setName(rs.getString(2));
			t.setAge(rs.getInt(3));
			System.out.println("record=" + t);
		}
		rs.close();
		System.out.println("rs closed=" + rs);
		
		TimeUnit.SECONDS.sleep(5);
		
		// 修改
		// 语法:UPDATE [ ONLY ] 表名 [ * ] [ [ AS ] 别名 ] ... 
//		int ret3 = stmt.executeUpdate("UPDATE TABLE tab1 SET name = 's.boot.modified' WHERE id = 3;");
		int ret3 = stmt.executeUpdate("UPDATE tab1 SET name = 's.boot.modified' WHERE id = 3;");
		System.out.println("ret3=" + ret3);

		TimeUnit.SECONDS.sleep(5);
		
		// 删除
		int ret4 = stmt.executeUpdate("DELETE FROM tab1 WHERE id = 3;");
		System.out.println("ret4=" + ret4);
		
		TimeUnit.SECONDS.sleep(5);
		
		stmt.close();
		System.out.println("stmt closed=" + rs);
		
		conn.close();
		System.out.println("关闭数据库连接!conn=" + conn);
	}
	
	/**
	 * 对应数据表 tab1
	 * @author ben
	 * @date 2021-11-03 23:21:12 CST
	 */
	@Data
	private static class Tab1 {
		
		private Long id;
		
		private String name;
		
		private Integer age;
		
	}
	
}

说明,

1、中间的休眠是为了 查看数据:

SELECT * FROM tab1;

2、根据id更新、删除 需要修改才行;

3、对于不清楚的SQL命令,使用 \h 和 \h + 命令 学习;

 

继续前进:

1、使用mybatis、mybatis-plus操作PostgreSQL;

2、使用Druid;

 

参考文档

1、JAVA连接PostgreSQL数据库

注:开通VIP解锁文章。

可见内容对于本文来说已经足够了,感谢。

2、

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章