java如何操作mysql数据库
操作MySQL数据库的基本步骤
在Java中操作MySQL数据库通常使用JDBC(Java Database Connectivity)API。以下是基本操作流程:
添加MySQL驱动依赖
在Maven项目中,添加以下依赖到pom.xml:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
建立数据库连接
使用DriverManager获取数据库连接:
String url = "jdbc:mysql://localhost:3306/数据库名";
String username = "用户名";
String password = "密码";
Connection connection = DriverManager.getConnection(url, username, password);
执行SQL查询
查询数据示例

String sql = "SELECT * FROM 表名";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println(id + ", " + name);
}
更新数据示例
String updateSql = "UPDATE 表名 SET 字段名=? WHERE 条件";
PreparedStatement pstmt = connection.prepareStatement(updateSql);
pstmt.setString(1, "新值");
int rowsAffected = pstmt.executeUpdate();
使用PreparedStatement防止SQL注入
预编译SQL语句更安全高效:
String insertSql = "INSERT INTO 表名(字段1, 字段2) VALUES(?, ?)";
PreparedStatement pstmt = connection.prepareStatement(insertSql);
pstmt.setString(1, "值1");
pstmt.setInt(2, 123);
pstmt.executeUpdate();
事务管理
确保一组操作要么全部成功,要么全部失败:

try {
connection.setAutoCommit(false);
// 执行多个SQL操作
connection.commit();
} catch(SQLException e) {
connection.rollback();
} finally {
connection.setAutoCommit(true);
}
连接池使用
推荐使用连接池如HikariCP管理数据库连接:
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名");
config.setUsername("用户名");
config.setPassword("密码");
HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();
异常处理
正确处理SQL异常:
try {
// 数据库操作
} catch(SQLException e) {
e.printStackTrace();
} finally {
if(connection != null) {
try {
connection.close();
} catch(SQLException e) {
e.printStackTrace();
}
}
}
最佳实践
使用try-with-resources自动关闭资源:
try (Connection conn = DriverManager.getConnection(url, user, pass);
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery()) {
// 处理结果集
} catch(SQLException e) {
e.printStackTrace();
}
遵循这些步骤可以高效安全地在Java中操作MySQL数据库。对于复杂项目,建议使用ORM框架如Hibernate或MyBatis简化数据库操作。






