← 返回目录

第六章:数据库

JDBC 与连接池

1. JDBC 查询

var url = "jdbc:mysql://localhost:3306/demo";
try (var conn = DriverManager.getConnection(url, user, pass);
     var ps = conn.prepareStatement("SELECT id,name FROM users WHERE id=?")) {
    ps.setLong(1, 1L);
    try (var rs = ps.executeQuery()) {
        if (rs.next()) {
            System.out.println(rs.getString("name"));
        }
    }
}

务必使用 PreparedStatement 绑定参数,防止 SQL 注入。

2. HikariCP

生产环境使用连接池复用 TCP 连接,例如 HikariCP(Spring Boot 默认)。

HikariConfig cfg = new HikariConfig();
cfg.setJdbcUrl(url);
cfg.setMaximumPoolSize(10);
try (var ds = new HikariDataSource(cfg)) {
    // ds.getConnection() ...
}

📋 本章要点

JDBC 是底层 API;框架(JPA/MyBatis)在其上构建;事务用 setAutoCommit(false) + commit/rollback。

评论加载中...