java如何连接mysql数据库
连接MySQL数据库的基本步骤
确保已安装MySQL数据库和Java开发环境(JDK)。需要下载MySQL的JDBC驱动(如mysql-connector-java-x.x.xx.jar),并将其添加到项目的类路径中。
加载驱动并建立连接
使用Class.forName()加载MySQL JDBC驱动,通过DriverManager.getConnection()建立连接。连接URL格式为jdbc:mysql://hostname:port/database,需提供用户名和密码。
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/your_database",
"username",
"password"
);
执行SQL查询
创建Statement或PreparedStatement对象执行SQL语句。PreparedStatement适合参数化查询,能防止SQL注入。
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM your_table");
// 使用PreparedStatement示例
PreparedStatement preparedStatement = connection.prepareStatement(
"INSERT INTO your_table (column1, column2) VALUES (?, ?)"
);
preparedStatement.setString(1, "value1");
preparedStatement.setInt(2, 123);
preparedStatement.executeUpdate();
处理结果集
通过ResultSet对象遍历查询结果,获取数据。
while (resultSet.next()) {
String column1 = resultSet.getString("column1");
int column2 = resultSet.getInt("column2");
System.out.println(column1 + ", " + column2);
}
关闭资源
操作完成后关闭ResultSet、Statement和Connection,释放资源。推荐使用try-with-resources自动管理。
resultSet.close();
statement.close();
connection.close();
// try-with-resources示例
try (Connection conn = DriverManager.getConnection(url, user, pass);
Statement stmt = conn.createStatement()) {
// 执行操作
} catch (SQLException e) {
e.printStackTrace();
}
异常处理
捕获SQLException处理数据库操作中的异常,确保程序健壮性。
try {
// 数据库操作
} catch (SQLException e) {
System.err.println("数据库错误: " + e.getMessage());
}
使用连接池优化性能
在高并发场景下,建议使用连接池(如HikariCP、DBCP)管理数据库连接,减少频繁创建连接的开销。

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/your_database");
config.setUsername("username");
config.setPassword("password");
try (HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection()) {
// 使用连接
}
注意事项
- 确保MySQL服务运行且网络可达。
- 连接参数如时区或编码可通过URL附加参数配置,例如:
jdbc:mysql://localhost:3306/db?useSSL=false&serverTimezone=UTC - 生产环境避免硬编码敏感信息,使用配置文件或环境变量管理数据库凭证。






