当前位置:首页 > Java

java如何连接sql数据库

2026-02-04 13:33:20Java

连接SQL数据库的方法

Java连接SQL数据库通常使用JDBC(Java Database Connectivity)技术。以下是几种常见的连接方式:

使用JDBC直接连接

  1. 加载数据库驱动
    不同数据库需要加载对应的驱动类:

    Class.forName("com.mysql.jdbc.Driver"); // MySQL
    Class.forName("oracle.jdbc.driver.OracleDriver"); // Oracle
    Class.forName("org.postgresql.Driver"); // PostgreSQL
  2. 建立数据库连接
    使用DriverManager获取连接:

    String url = "jdbc:mysql://localhost:3306/database_name";
    String username = "root";
    String password = "password";
    Connection connection = DriverManager.getConnection(url, username, password);
  3. 执行SQL语句
    创建Statement或PreparedStatement对象执行查询:

    Statement stmt = connection.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM table_name");

使用连接池连接

  1. 配置连接池(以HikariCP为例)
    添加Maven依赖:

    <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>4.0.3</version>
    </dependency>
  2. 创建连接池配置

    HikariConfig config = new HikariConfig();
    config.setJdbcUrl("jdbc:mysql://localhost:3306/database_name");
    config.setUsername("root");
    config.setPassword("password");
    config.addDataSourceProperty("cachePrepStmts", "true");
    config.addDataSourceProperty("prepStmtCacheSize", "250");
  3. 获取连接

    try (HikariDataSource ds = new HikariDataSource(config);
         Connection connection = ds.getConnection()) {
        // 使用连接执行操作
    }

使用JPA/Hibernate连接

  1. 添加依赖

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.6.5.Final</version>
    </dependency>
  2. 配置persistence.xml

    <persistence-unit name="examplePU">
        <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/db"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="password"/>
        </properties>
    </persistence-unit>
  3. 获取EntityManager

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("examplePU");
    EntityManager em = emf.createEntityManager();

常见数据库连接示例

MySQL连接示例:

String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false";
Connection conn = DriverManager.getConnection(url, "user", "password");

PostgreSQL连接示例:

String url = "jdbc:postgresql://localhost:5432/mydb";
Connection conn = DriverManager.getConnection(url, "user", "password");

Oracle连接示例:

String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, "user", "password");

注意事项

  • 使用后必须关闭连接
    在finally块中关闭资源:

    try {
        // 获取和使用连接
    } finally {
        if(connection != null) connection.close();
    }
  • 使用try-with-resources
    Java 7+推荐用法:

    try (Connection conn = DriverManager.getConnection(url, user, pass);
         Statement stmt = conn.createStatement()) {
        // 使用连接
    }
  • 处理SQLException
    所有JDBC操作都可能抛出SQLException,需要进行捕获处理。

  • 使用PreparedStatement防注入
    参数化查询更安全:

    java如何连接sql数据库

    PreparedStatement pstmt = connection.prepareStatement("SELECT * FROM users WHERE id = ?");
    pstmt.setInt(1, userId);

标签: 数据库java
分享给朋友:

相关文章

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

java如何创建数组

java如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr1;…

php数据库实现

php数据库实现

PHP 连接 MySQL 数据库 使用 mysqli 扩展连接 MySQL 数据库: <?php $servername = "localhost"; $username = "usernam…

如何学习java语言

如何学习java语言

学习Java语言的系统方法 理解基础概念 Java是一种面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制流语句(if-else、循环)是第一步。熟悉类和对象的概念,理解封装、继承和多态三…

php 实现 java md5加密

php 实现 java md5加密

PHP 实现 Java MD5 加密 Java 和 PHP 的 MD5 加密结果可能存在差异,主要由于字符编码和输出格式的不同。以下是确保 PHP 与 Java MD5 加密结果一致的方法。 确保字…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法。…