MySQL Java
用 JDBC / Spring Data JPA 在 Java 里操作 MySQL。
Key PointsJDBC 是 Java 访问 MySQL 的标准 API;Spring Data JPA 在其上提供仓储抽象。
JDBC 查询
Java
String sql = "SELECT id, username FROM users WHERE age > ?";
try (Connection c = dataSource.getConnection();
PreparedStatement ps = c.prepareStatement(sql)) {
ps.setInt(1, 25);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
System.out.println(rs.getString("username"));
}
}
}Output
alice
bobSpring Data JPA
Java
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByAgeGreaterThan(int age);
}
// 自动生成 SQL,调用即可
List<User> seniors = userRepository.findByAgeGreaterThan(25);Always use
PreparedStatement (placeholders) — it prevents injection and benefits from precompilation. Let HikariCP manage the pool; don't open a connection per call.JDBC 查询
Java
String sql = "SELECT id, username FROM users WHERE age > ?";
try (Connection c = dataSource.getConnection();
PreparedStatement ps = c.prepareStatement(sql)) {
ps.setInt(1, 25);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
System.out.println(rs.getString("username"));
}
}
}Output
alice
bobSpring Data JPA
Java
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByAgeGreaterThan(int age);
}
// 自动生成 SQL,调用即可
List<User> seniors = userRepository.findByAgeGreaterThan(25);务必用
PreparedStatement(占位符)而非字符串拼接,既防注入又借预编译提升重复执行性能。连接交给 HikariCP 这类连接池管理,别每次 new 一个。