当前位置:首页 > Java

java如何连接数据库

2026-02-04 10:47:48Java

连接数据库的基本步骤

在Java中连接数据库通常使用JDBC(Java Database Connectivity)API。以下是连接数据库的核心步骤:

  1. 加载数据库驱动
    需要加载对应数据库的JDBC驱动类。例如MySQL的驱动类为com.mysql.jdbc.Driver(旧版)或com.mysql.cj.jdbc.Driver(新版)。

    Class.forName("com.mysql.cj.jdbc.Driver");
  2. 建立数据库连接
    使用DriverManager.getConnection()方法传入数据库URL、用户名和密码。

    String url = "jdbc:mysql://localhost:3306/mydatabase";
    String user = "username";
    String password = "password";
    Connection connection = DriverManager.getConnection(url, user, password);
  3. 执行SQL语句
    通过Connection对象创建StatementPreparedStatement执行SQL查询或更新。

    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
  4. 处理结果集
    遍历ResultSet获取查询结果。

    while (resultSet.next()) {
        String name = resultSet.getString("name");
        int age = resultSet.getInt("age");
        System.out.println(name + ", " + age);
    }
  5. 关闭资源
    释放ConnectionStatementResultSet资源,避免内存泄漏。

    resultSet.close();
    statement.close();
    connection.close();

使用连接池优化性能

频繁创建和关闭连接会影响性能,推荐使用连接池(如HikariCP、DBCP)。

java如何连接数据库

  1. 添加依赖
    Maven项目中引入HikariCP依赖:

    <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>5.0.1</version>
    </dependency>
  2. 配置连接池
    创建HikariDataSource并设置连接参数:

    HikariConfig config = new HikariConfig();
    config.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
    config.setUsername("username");
    config.setPassword("password");
    HikariDataSource dataSource = new HikariDataSource(config);
  3. 从连接池获取连接

    try (Connection connection = dataSource.getConnection()) {
        // 执行SQL操作
    } // 自动归还连接

使用PreparedStatement防止SQL注入

避免直接拼接SQL字符串,改用参数化查询:

java如何连接数据库

String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
try (PreparedStatement pstmt = connection.prepareStatement(sql)) {
    pstmt.setString(1, "Alice");
    pstmt.setInt(2, 25);
    pstmt.executeUpdate();
}

常见数据库连接示例

  1. MySQL
    URL格式:jdbc:mysql://主机:端口/数据库名?参数

    String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
  2. PostgreSQL
    URL格式:jdbc:postgresql://主机:端口/数据库名

    Class.forName("org.postgresql.Driver");
    String url = "jdbc:postgresql://localhost:5432/mydb";
  3. Oracle
    URL格式:jdbc:oracle:thin:@主机:端口:服务名

    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@localhost:1521:ORCL";

异常处理建议

使用try-with-resources自动关闭资源,并捕获SQLException

try (Connection conn = DriverManager.getConnection(url, user, password);
     Statement stmt = conn.createStatement()) {
    // 操作数据库
} catch (SQLException e) {
    e.printStackTrace();
}

分享给朋友:

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

如何成为java架构师

如何成为java架构师

掌握扎实的Java基础 深入理解Java核心知识,包括多线程、集合框架、JVM原理、设计模式等。熟悉Java生态中的常用框架如Spring、MyBatis、Hibernate等,并能分析其源码实现。…