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;
参考文档
注:开通VIP解锁文章。
可见内容对于本文来说已经足够了,感谢。
2、