java如何调用数据库
使用JDBC连接数据库
JDBC(Java Database Connectivity)是Java提供的标准API,用于连接和操作数据库。需要加载数据库驱动,建立连接,执行SQL语句。
加载驱动类:
Class.forName("com.mysql.cj.jdbc.Driver");
建立连接:
String url = "jdbc:mysql://localhost:3306/database_name";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
执行查询:
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, age) VALUES (?, ?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, "John");
pstmt.setInt(2, 30);
pstmt.executeUpdate();
使用连接池管理数据库连接
常见的连接池有HikariCP、DBCP等。以HikariCP为例:

配置连接池:
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/database_name");
config.setUsername("root");
config.setPassword("password");
HikariDataSource dataSource = new HikariDataSource(config);
获取连接:
Connection connection = dataSource.getConnection();
使用ORM框架简化操作
MyBatis和Hibernate是常用的ORM框架。MyBatis示例:
定义Mapper接口:

public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(int id);
}
使用SqlSession:
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
}
使用Spring Data JPA
Spring Data JPA进一步简化数据库操作:
定义实体类:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
}
定义Repository接口:
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByName(String name);
}
自动实现CRUD操作:
userRepository.save(new User("Alice", 25));
List<User> users = userRepository.findByName("Alice");






