在 Java 中连接 MySQL 数据库通常使用 JDBC(Java Database Connectivity)技术。以下是详细的实现步骤和示例代码:
-
下载 MySQL JDBC 驱动(mysql-connector-java),可从 Maven 仓库 获取
-
如果使用 Maven 项目,添加依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
-
连接 URL 参数说明:
-
jdbc:mysql://localhost:3306/your_database_name:数据库地址、端口和库名
-
useSSL=false:禁用 SSL(开发环境常用)
-
serverTimezone=UTC:设置时区,避免时间转换问题
-
allowPublicKeyRetrieval=true:允许获取公钥
-
核心操作步骤:
-
加载驱动:
Class.forName("com.mysql.cj.jdbc.Driver")(MySQL 8.0 + 使用此类)
-
获取连接:
DriverManager.getConnection()
-
执行 SQL:使用
Statement或PreparedStatement(推荐后者,可防止 SQL 注入)
-
处理结果:通过
ResultSet获取查询结果
-
关闭资源:按
ResultSet→Statement→Connection的顺序关闭
-
注意事项:
-
数据库连接是宝贵资源,使用后必须关闭
-
生产环境中应使用数据库连接池(如 HikariCP、C3P0)管理连接
-
敏感信息(账号密码)不应硬编码在代码中,应使用配置文件
-
处理可能的异常(如连接失败、SQL 错误等)
在实际开发中,推荐使用连接池:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
HikariConfig config = new HikariConfig();
config.setJdbcUrl(URL);
config.setUsername(USER);
config.setPassword(PASSWORD);
config.setMaximumPoolSize(10);
HikariDataSource dataSource = new HikariDataSource(config);
Connection conn = dataSource.getConnection();
使用连接池可以提高性能,避免频繁创建和关闭连接的开销。