Java JDBC连接数据库常见操作总结

Java JDBC连接数据库常见操作总结

JDBC介绍

Java 数据库连接 (Java Database Connectivity, JDBC) 是一种用于执行 SQL 语句的 Java API,可以为多个关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成,可以使 Java 应用程序轻松地访问数据库。

JDBC 本质上是通过 JNI(Java Native Interface)来调用本地代码实现的。这些本地代码组成的库被称作 JDBC 驱动程序(JDBC Driver)。JDBC 主要分为四个部分:JDBC 驱动管理器、JDBC 驱动程序、JDBC API 和 JDBC 数据库的连接。

JDBC连接数据库

使用 JDBC 连接数据库只需以下几步:

  • 导入 JDBC 驱动包:需要将 JDBC 驱动包放到 CLASSPATH 中,否则程序无法找到 JDBC 驱动。
  • 加载 JDBC 驱动程序:可以使用 Class.forName() 方法来加载 JDBC 驱动,例如加载 MySQL 驱动的代码为:Class.forName("com.mysql.jdbc.Driver");
  • 获取数据库连接对象:使用 DriverManager.getConnection() 方法获取数据库连接对象,需要传入数据库 URL、用户名和密码。
  • 执行 SQL 语句:可以使用 Statement 或 PreparedStatement 对象执行 SQL 语句。
  • 处理查询结果:使用 ResultSet 对象处理查询结果。

下面我们将通过两个示例说明如何连接数据库。

示例1:连接 MySQL 数据库

步骤1:导入 JDBC 驱动包

假设我们使用 MySQL 数据库,需要先下载 MySQL 的 JDBC 驱动包,下载地址为:https://dev.mysql.com/downloads/connector/j/。将下载得到的 JDBC 驱动包放到项目的 lib 目录下。

步骤2:加载 JDBC 驱动程序

加载 MySQL 驱动的代码为:

Class.forName("com.mysql.jdbc.Driver");

步骤3:获取数据库连接对象

获取 MySQL 数据库连接对象的代码为:

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

其中,url 是连接字符串,test 是数据库名称,root 是用户名,123456 是密码。这里的 useSSL=false 表示不使用 SSL 连接。

步骤4:执行 SQL 语句

假设我们要执行一条查询语句,查询表中的所有数据,代码如下:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM user");

步骤5:处理查询结果

我们可以使用 ResultSet 对象处理查询结果,代码如下:

while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    String email = rs.getString("email");
    System.out.println(id + "\t" + name + "\t" + email);
}

完整的示例代码如下:

import java.sql.*;

public class MySQLDemo {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");

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

        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM user");
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            String email = rs.getString("email");
            System.out.println(id + "\t" + name + "\t" + email);
        }

        rs.close();
        stmt.close();
        conn.close();
    }
}

输出结果为:

1   Alice   alice@example.com
2   Bob bob@example.com
3   Carol   carol@example.com

示例2:连接 Oracle 数据库

步骤1:导入 JDBC 驱动包

假设我们使用 Oracle 数据库,需要先下载 Oracle 的 JDBC 驱动包,下载地址为:http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html。将下载得到的 JDBC 驱动包放到项目的 lib 目录下。

步骤2:加载 JDBC 驱动程序

加载 Oracle 驱动的代码为:

Class.forName("oracle.jdbc.driver.OracleDriver");

步骤3:获取数据库连接对象

获取 Oracle 数据库连接对象的代码为:

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

其中,url 是连接字符串,localhost 是主机名,1521 是端口号,orcl 是数据库实例名。这里的 thin 表示用 thin 驱动连接,@ 后面的 : 表示用冒号隔开,依次是主机名、端口号和数据库实例名。

步骤4:执行 SQL 语句

假设我们要执行一条查询语句,查询表中的所有数据,代码如下:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM emp");

步骤5:处理查询结果

我们可以使用 ResultSet 对象处理查询结果,代码如下:

while (rs.next()) {
    int empno = rs.getInt("empno");
    String ename = rs.getString("ename");
    String job = rs.getString("job");
    System.out.println(empno + "\t" + ename + "\t" + job);
}

完整的示例代码如下:

import java.sql.*;

public class OracleDemo {
    public static void main(String[] args) throws Exception {
        Class.forName("oracle.jdbc.driver.OracleDriver");

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

        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM emp");
        while (rs.next()) {
            int empno = rs.getInt("empno");
            String ename = rs.getString("ename");
            String job = rs.getString("job");
            System.out.println(empno + "\t" + ename + "\t" + job);
        }

        rs.close();
        stmt.close();
        conn.close();
    }
}

输出结果为:

7369    SMITH   CLERK
7499    ALLEN   SALESMAN
7521    WARD    SALESMAN
7566    JONES   MANAGER
7654    MARTIN  SALESMAN
7698    BLAKE   MANAGER
7782    CLARK   MANAGER
7788    SCOTT   ANALYST
7839    KING    PRESIDENT
7844    TURNER  SALESMAN
7876    ADAMS   CLERK
7900    JAMES   CLERK
7902    FORD    ANALYST
7934    MILLER  CLERK

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java JDBC连接数据库常见操作总结 - Python技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • FckEditor 中文配置手册详细说明

    FckEditor 中文配置手册详细说明 FckEditor 是一个免费的 HTML 编辑器,它具有跨浏览器兼容性和 WYSIWYG(所见即所得)编辑功能。本文将提供 FckEditor 中文配置手册的详细说明,包括安装、配置和使用 FckEditor 的示例。 安装 FckEditor 下载 FckEditor,可以在官方网站(https://ckedit…

    Java 2023年6月15日
    00
  • 详解Java中ByteArray字节数组的输入输出流的用法

    详解Java中ByteArray字节数组的输入输出流的用法 什么是ByteArray字节数组? 在Java中,字节数组是指由若干个字节所组成的数组。字节一般是指8位二进制数,也就是一个范围在0-255的整数,因此Java中一个字节数组就是由一系列整数所组成的数组。 什么是Java中的输入输出流? Java中的输入输出流是用来实现数据的流动,将数据从输入端流入…

    Java 2023年5月26日
    00
  • Log4j详细使用教程_动力节点Java学院整理

    Log4j详细使用教程 什么是Log4j? Log4j是一个用于记录程序运行过程中产生的日志的Java库。它为开发者提供了一种非常灵活的记录日志的方式,可以把日志输出到控制台、文件甚至是数据库中,而且可以设置不同级别的日志记录,从而更加精确地记录不同类型的日志信息。使用Log4j可以帮助你更好地了解程序的运行情况,提高调试效率。 如何使用Log4j? 步骤一…

    Java 2023年5月27日
    00
  • Java与SpringBoot对redis的使用方式

    Java与SpringBoot对redis的使用方式可以通过Spring Data Redis进行实现。接下来以示例的方式详细讲解Java与Spring Boot对redis的使用方式。 环境准备 首先需要引入相关依赖: <dependency> <groupId>org.springframework.boot</groupI…

    Java 2023年5月19日
    00
  • Java 使用IO流实现大文件的分割与合并实例详解

    Java 使用IO流实现大文件的分割与合并实例详解 前言 在现代应用程序中,经常需要处理非常大的文件。处理大文件的一种常见方法是将它们分成更小的文件,这有助于减少I/O操作的时间和资源消耗。在Java中,可以使用IO流来实现大文件的分割与合并。 分割文件 读取源文件 首先,我们需要通过使用Java IO API中的FileInputStream读取要分割的源…

    Java 2023年5月20日
    00
  • Spring5中的WebClient使用方法详解

    Spring5中的WebClient使用方法详解 Spring5中的WebClient是一个非常强大的用于建立HTTP请求和处理响应的库。它提供了一套基于响应式流的API,可以帮助我们更简单、高效地完成Web请求的处理和响应。 1. Maven依赖 为了使用Spring5中的WebClient,我们需要在项目中加入如下的Maven依赖: <depend…

    Java 2023年5月20日
    00
  • Spring单数据源的配置详解

    我来为您详细讲解“Spring单数据源的配置详解”的完整攻略。 Spring单数据源的配置详解 在讲解Spring单数据源的配置之前,我们先来了解一下什么是数据源。数据库数据源是数据库的一个连接池,它负责管理数据库连接,并通过连接池的方式提高数据连接的效率和稳定性。在Spring框架中,我们可以通过配置数据源的方式来实现对数据库的访问。而Spring单数据源…

    Java 2023年5月20日
    00
  • Java实现跨服务器上传文件功能

    下面是一个完整的 Java 实现跨服务器上传文件功能的攻略: 1. 准备工作 在开始之前,需要确保本地和服务器上都已经安装了相应的环境: JDK:Java 开发环境; Tomcat:Java Web 应用服务器; Spring MVC:用于构建 Web 应用程序。 2. 创建项目 首先,你需要创建一个新的 Java 项目,然后创建一个 Web 程序。在 We…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部