如何控制java数据库
使用JDBC连接数据库
JDBC(Java Database Connectivity)是Java连接数据库的标准API。通过加载数据库驱动、建立连接、执行SQL语句来操作数据库。
// 加载驱动(MySQL示例)
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
String url = "jdbc:mysql://localhost:3306/db_name";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
// 执行SQL查询
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");
// 关闭资源
resultSet.close();
statement.close();
connection.close();
使用PreparedStatement防止SQL注入
PreparedStatement预编译SQL语句,避免拼接字符串导致的安全风险。
String sql = "INSERT INTO users (name, email) VALUES (?, ?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, "John");
pstmt.setString(2, "john@example.com");
pstmt.executeUpdate();
使用ORM框架简化操作
Hibernate或MyBatis等ORM框架可减少手动编写JDBC代码的工作量。
Hibernate示例
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
User user = new User("Alice", "alice@example.com");
session.save(user);
tx.commit();
session.close();
数据库连接池管理
使用连接池(如HikariCP、DBCP)提高性能,避免频繁创建和关闭连接。
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/db_name");
config.setUsername("root");
config.setPassword("password");
HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();
事务管理
通过Connection或框架(如Spring的@Transactional)确保数据一致性。
connection.setAutoCommit(false);
try {
// 执行多个SQL操作
connection.commit();
} catch (SQLException e) {
connection.rollback();
}
使用JPA规范
Java Persistence API(JPA)提供对象关系映射的标准接口,可与Hibernate等实现结合使用。

@Entity
public class User {
@Id
@GeneratedValue
private Long id;
private String name;
// Getters and setters
}
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(new User("Bob"));
em.getTransaction().commit();






