java如何调用mysql数据
连接 MySQL 数据库
使用 JDBC(Java Database Connectivity)连接 MySQL 数据库需要以下步骤:
- 添加 MySQL JDBC 驱动依赖(Maven 项目可在
pom.xml中添加):<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency> - 加载驱动并建立连接:
String url = "jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC"; String username = "用户名"; String password = "密码"; Connection connection = DriverManager.getConnection(url, username, password);
执行 SQL 查询
通过 Statement 或 PreparedStatement 执行查询:

- 使用
Statement查询数据:Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM 表名"); while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); System.out.println("ID: " + id + ", Name: " + name); } - 使用
PreparedStatement防止 SQL 注入:String sql = "SELECT * FROM 表名 WHERE id = ?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, 1); // 设置参数 ResultSet resultSet = preparedStatement.executeQuery();
插入、更新或删除数据
通过 executeUpdate() 执行增删改操作:
String insertSQL = "INSERT INTO 表名 (name, age) VALUES (?, ?)";
PreparedStatement insertStatement = connection.prepareStatement(insertSQL);
insertStatement.setString(1, "张三");
insertStatement.setInt(2, 25);
int rowsAffected = insertStatement.executeUpdate();
System.out.println("插入行数: " + rowsAffected);
关闭资源
操作完成后需关闭连接和语句对象:

resultSet.close();
statement.close();
connection.close();
使用连接池优化性能
推荐使用 HikariCP 等连接池管理数据库连接:
- 添加 HikariCP 依赖:
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>5.0.1</version> </dependency> - 配置并使用连接池:
HikariConfig config = new HikariConfig(); config.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名"); config.setUsername("用户名"); config.setPassword("密码"); HikariDataSource dataSource = new HikariDataSource(config); Connection connection = dataSource.getConnection();
异常处理
确保捕获 SQLException 并处理异常:
try {
// 数据库操作代码
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
}






