java如何访问数据库
使用JDBC连接数据库
JDBC(Java Database Connectivity)是Java访问数据库的标准API。通过JDBC可以连接各种关系型数据库,执行SQL语句并处理结果。
加载JDBC驱动:
Class.forName("com.mysql.jdbc.Driver");
建立数据库连接:
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
执行SQL查询
创建Statement对象执行SQL:

Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
使用PreparedStatement防止SQL注入:
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM users WHERE id = ?");
preparedStatement.setInt(1, 1001);
ResultSet resultSet = preparedStatement.executeQuery();
处理查询结果
遍历ResultSet获取数据:
while(resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
关闭数据库资源
使用完毕后关闭连接:

resultSet.close();
statement.close();
connection.close();
使用try-with-resources自动关闭资源
Java 7+可以使用try-with-resources自动管理资源:
try (Connection connection = DriverManager.getConnection(url, username, password);
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery()) {
// 处理结果
} catch (SQLException e) {
e.printStackTrace();
}
使用数据库连接池
对于生产环境,建议使用连接池管理数据库连接,如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()) {
// 使用连接
}
使用ORM框架简化操作
考虑使用Hibernate或MyBatis等ORM框架简化数据库操作:
// Hibernate示例
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
User user = new User("John Doe");
session.save(user);
tx.commit();
session.close();






