java如何和mysql连接
Java连接MySQL数据库的方法
1. 加载MySQL JDBC驱动
将MySQL的JDBC驱动jar包添加到项目的类路径中。可以通过Maven依赖或手动下载jar包实现。
Maven依赖配置:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
2. 注册驱动并建立连接
使用Class.forName()加载驱动,然后通过DriverManager获取数据库连接。
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/database_name";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
3. 执行SQL语句
通过Connection对象创建Statement或PreparedStatement执行SQL查询或更新。
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO table_name VALUES (?, ?)");
preparedStatement.setString(1, "value1");
preparedStatement.setInt(2, 123);
preparedStatement.executeUpdate();
4. 处理结果集
遍历ResultSet获取查询结果。
while(resultSet.next()) {
String column1 = resultSet.getString("column_name1");
int column2 = resultSet.getInt("column_name2");
System.out.println(column1 + " " + column2);
}
5. 关闭连接
完成数据库操作后,需要关闭所有打开的数据库资源。
resultSet.close();
statement.close();
connection.close();
使用连接池优化连接管理
1. 引入连接池依赖

常用连接池如HikariCP或DBCP。
HikariCP Maven依赖:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
2. 配置并使用连接池
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/database_name");
config.setUsername("root");
config.setPassword("password");
HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();
常见连接参数
1. 时区设置
String url = "jdbc:mysql://localhost:3306/database_name?serverTimezone=UTC";
2. SSL设置
String url = "jdbc:mysql://localhost:3306/database_name?useSSL=false";
3. 字符编码设置
String url = "jdbc:mysql://localhost:3306/database_name?useUnicode=true&characterEncoding=UTF-8";
异常处理
1. 捕获SQLException

try {
// 数据库操作代码
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
}
2. 使用try-with-resources
Java 7及以上版本可以使用自动资源管理。
try (Connection connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement()) {
// 数据库操作代码
} catch (SQLException e) {
e.printStackTrace();
}
注意事项
1. 驱动类名变化
MySQL 8.0+使用com.mysql.cj.jdbc.Driver,旧版本可能使用com.mysql.jdbc.Driver。
2. 连接参数
根据MySQL服务器版本和配置调整连接URL中的参数。
3. 资源释放
确保数据库连接、语句和结果集在使用后被正确关闭。






