首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java Web 入門:JDBC 配置全流程與 MySQL 選型建議

     編輯:程式設計綜合問答

從零搭建 Java Web 數據庫連接:工具鏈、驅動、連接池一站式指南

環境準備(2024 推薦棧)

  • JDK: 下載 JDK 17/21 LTS(Oracle/OpenJDK/Temurin),無需單獨下載 Java EE,Servlet/JSP API 由構建工具引入。
  • IDE: IntelliJ IDEA (Ultimate/Community) 或 Eclipse(安裝 Web Tools Platform)。
  • 構建工具: Maven/Gradle 管理依賴,強烈不推薦 手動導 jar 包。
  • 數據庫: 學習階段首選 MySQL 8.0(免費、文檔豐富、生態成熟),亦可用 PostgreSQL/H2(內存)。

Maven 依賴配置

<dependencies>
  <!-- MySQL 驅動 -->
  <dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.3.0</version>
  </dependency>
  <!-- 連接池:HikariCP(Spring Boot 默認) -->
  <dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.1.0</version>
  </dependency>
</dependencies>

JDBC 連接池代碼模板

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8");
config.setUsername("root");
config.setPassword("123456");
config.setMaximumPoolSize(20);
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");

HikariDataSource ds = new HikariDataSource(config);
// 使用
try (Connection conn = ds.getConnection();
     PreparedStatement ps = conn.prepareStatement("SELECT * FROM user WHERE id=?")) {
    ps.setInt(1, 1);
    ResultSet rs = ps.executeQuery();
    // ...
}

關鍵參數解析

參數推薦值說明
useSSLfalse本地開發關閉 SSL,減少握手開銷
serverTimezoneUTC/Asia/Shanghai避免時區導致時間偏移
characterEncodingutf-8統一字符集,防中文亂碼
cachePrepStmtstrue開啟 PreparedStatement 緩存,提升性能
進階:生產環境請配置 maximumPoolSize、connectionTimeout、idleTimeout、maxLifetime,並啟用 leakDetectionThreshold 排查連接洩漏。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved