JDBC|JDBC基础知识

本文详细介绍了JDBC的概念、组成、基本使用流程,包括加载驱动、建立连接、执行SQL、处理结果以及异常管理。JDBC是Java与数据库交互的关键技术,适用于各种Java应用的数据操作。
摘要由CSDN通过智能技术生成

正文:    

   

目录

正文:    

一、JDBC概述

二、JDBC的组成

三、JDBC的基本使用步骤

    1. 加载JDBC驱动程序

    2. 建立数据库连接

    3. 创建Statement对象

    4. 执行SQL语句

    5.  处理查询结果

    6. 关闭连接和资源

四、JDBC的异常处理    

五、总结


一、JDBC概述

    JDBC是Java平台上的一组API,它定义了一套用于执行SQL语句的方法和规范。通过JDBC,我们可以使用Java代码连接数据库,进行数据的增删改查操作。JDBC提供了一种独立于数据库的编程接口,使得我们可以方便地切换不同的数据库系统,而无需修改大量的代码。

二、JDBC的组成

JDBC由两部分组成:JDBC API和JDBC驱动程序。

  1. JDBC API:JDBC API是一组Java接口,定义了与数据库交互的方法和规范。JDBC的核心组件包括:

    1. DriverManager:负责管理数据库驱动程序,用于建立数据库连接。

    2. Connection:表示与数据库的连接,用于执行SQL语句和事务管理。

    3. Statement和PreparedStatement:用于执行SQL语句并返回结果。

    4. ResultSet:表示查询结果集,用于遍历和获取查询结果。

  2. JDBC驱动程序:JDBC驱动程序是实现JDBC API的具体实现。不同的数据库厂商提供了各自的JDBC驱动程序,用于连接和操作其数据库。我们需要根据所使用的数据库选择相应的JDBC驱动程序,并将其加载到Java程序中。

三、JDBC的基本使用步骤

    1. 加载JDBC驱动程序

        使用Class.forName()方法加载所使用的数据库的JDBC驱动程序。例如,加载MySQL的JDBC驱动程序可以使用以下代码:

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

        注:这里测试代码用的是8.0.33版本的mysql驱动包:

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.33</version>
    </dependency>
</dependencies>

    2. 建立数据库连接

        使用DriverManager.getConnection()方法建立与数据库的连接。需要提供数据库的URL、用户名和密码。例如,连接MySQL数据库可以使用以下代码:

Connection connection = DriverManager.getConnection(
                "jdbc:mysql://192.168.153.129:3306/test2sql?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai",
                "root",
                "admin111111");

    这里可以看到示例代码使用的url比较长,这里url主要由以下几部分构成:

  1. 协议:指定了连接数据库时要使用的协议,通常是"jdbc";

  2. 子协议(Subprotocol):指定了要连接的数据库类型或特定的数据库驱动程序。不同数据库类型有不同的子协议,例如MySQL的子协议是"mysql",Oracle的子协议是"oracle";

  3. 主机名:指定了数据库服务器的主机名或IP地址。这里IP地址为192.168.153.129;

  4. 端口号:指定了数据库服务器监听连接的端口号。不同数据库系统的默认端口号可能不同,如MySQL的默认端口号是3306;

  5. 数据库名称:指定了要连接的具体数据库的名称。在连接数据库时,需要明确指定要连接的数据库,这里数据库的名称为test2sql。

  6. 参数:在JDBC连接URL中,除了主要的连接信息外,有时候还可以添加一些参数来对数据库连接进行额外的配置和控制。这些参数通常以问号(?)开头,多个参数之间使用“&”符号分隔。常见的JDBC连接URL参数包括:

    1. user:指定连接数据库的用户名。

    2. password:指定连接数据库的密码。

    3. autoReconnect:指定是否自动重新连接到数据库。

    4. useSSL:指定是否使用SSL加密连接。

    5. characterEncoding:指定字符编码。

    6. serverTimezone:指定服务器时区。

    7. maxRows:指定最大返回行数。

    8. fetchSize:指定每次从数据库获取的行数。

    9. timeout:指定连接超时时间。

    3. 创建Statement对象

        使用Connection对象的createStatement()方法创建Statement对象,用于执行SQL语句。例如,创建一个Statement对象可以使用以下代码:

Statement statement = connection.createStatement();

    4. 执行SQL语句

        使用Statement对象的executeUpdate()方法执行更新操作(如插入、删除、修改),使用executeQuery()方法执行查询操作。例如,执行一个查询语句可以使用以下代码:

String sql = "select * from sales";
ResultSet resultSet = statement.executeQuery(sql);

    5.  处理查询结果

        使用ResultSet对象处理查询结果。可以使用ResultSet的方法获取查询结果的各个字段的值。例如,遍历查询结果示例代码:

while(resultSet.next()){
    String s1 = resultSet.getString(2);
    String s2 = resultSet.getString("goods");
    System.out.println(s1+";"+s2);
}

        此处需要对ResultSet的一些方法做出一些说明:​​​​​​​

  1. resultSet.next(): ResultSet是用于表示从数据库查询返回的结果集的接口。ResultSet对象维护一个指向当前行的光标,当调用resultSet.next()方法时,如果存在下一行数据,则该方法会将光标移动到下一行,并返回true;如果不存在下一行数据(即已经到达结果集的末尾),则返回false;

  2. resultSet.getXXX(): ResultSet支持多种getXXX方法,如getString,getBoolean,getByte,getShort,getInt,getLong,getFloat, getDouble等,表示以不同的类型查询当前行某一列的数据,这些方法的参数支持int类型的列索引或string类型的列名称,如示例代码中的两种写法都是取第二列(goods)的数据:

String s1 = resultSet.getString(2);
String s2 = resultSet.getString("goods");  

        另外,此处列索引号并非我们习惯中的以0开始的序列号,而是以1开始的序列号,即第一列的序列号并非是0而是1。

    6. 关闭连接和资源

        在完成数据库操作后,需要关闭ResultSet、Statement和Connection对象,释放资源。例如,关闭连接可以使用以下代码:​​​​​​​

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

        在关闭连接和资源的时候,要注意关闭的顺序为先开后关,后开先关的原则,如我们是先开启连接connection,再创建statement对象,最后查询到resultSet结果的,那么关闭时就需要先关闭resultSet,再关闭statement,最后关闭connection。

四、JDBC的异常处理    

    在使用JDBC过程中,可能会出现各种异常情况,如数据库连接失败、SQL语句错误等。我们需要合理地处理这些异常,以保证程序的稳定性和安全性。可以使用try-catch语句块来捕获并处理异常,或者将异常抛出给上层调用者。

五、总结

    JDBC作为Java与数据库之间的桥梁,为开发人员提供了一种标准的方式来连接和操作数据库。通过JDBC,我们可以轻松地执行各种数据库操作,实现数据的增删改查。无论是开发Web应用、企业级应用还是数据分析,JDBC都是不可或缺的技术之一。本文仅对JDBC的基础知识做了介绍,其他功能留待日后再聊,希望本文对您了解JDBC的基础知识有所帮助。

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值