java如何查询数据库
查询数据库的方法
在Java中查询数据库通常使用JDBC(Java Database Connectivity)API。JDBC是Java标准库的一部分,提供了一套接口和类用于连接和操作各种数据库。
连接数据库
建立数据库连接需要指定数据库URL、用户名和密码。以MySQL为例:
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
// 数据库操作代码
} catch (SQLException e) {
e.printStackTrace();
}
执行查询语句
使用PreparedStatement执行SQL查询语句,可以防止SQL注入攻击:

String sql = "SELECT * FROM users WHERE age > ?";
try (Connection connection = DriverManager.getConnection(url, username, password);
PreparedStatement statement = connection.prepareStatement(sql)) {
statement.setInt(1, 18); // 设置参数
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println(name + ", " + age);
}
} catch (SQLException e) {
e.printStackTrace();
}
处理查询结果
ResultSet对象包含查询返回的数据,可以通过列名或索引获取值:
while (resultSet.next()) {
// 通过列名获取
String email = resultSet.getString("email");
// 通过索引获取(从1开始)
int id = resultSet.getInt(1);
}
使用连接池
对于生产环境,建议使用连接池管理数据库连接,如HikariCP:

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
config.setUsername("root");
config.setPassword("password");
try (HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection()) {
// 使用连接
} catch (SQLException e) {
e.printStackTrace();
}
ORM框架
对于复杂应用,可以考虑使用ORM框架如Hibernate或MyBatis简化数据库操作:
// MyBatis示例
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession session = factory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.selectUser(1);
}
异常处理
数据库操作可能抛出SQLException,应该妥善处理:
try {
// 数据库操作
} catch (SQLException e) {
// 记录日志或处理异常
logger.error("数据库操作失败", e);
throw new RuntimeException("数据库错误", e);
}






