JDBC

本文介绍了Java数据库连接(JDBC)的基础知识,包括其工作原理、API介绍、访问数据库的步骤,以及PreparedStatement接口的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为什么需要JDBC?

        Java是通过JDBC技术实现对各种数据库的访问,JDBC是Java数据库连接(Java DataBase Connectivity)技术的简称,它充当了Java应用程序与各种不同数据库之间进行对话的媒介。它可以把数据持久保存,这就是一种持久化机制。持久化是将程序中的数据在瞬时状态和持久状态间转换的机制。

JDBC由一组使用Java语言编写的类和接口组成,可以为多种关系数据库提供统一访问。

2.JDBC的工作原理

       JDBC API 由Sun公司提供,其中提供了Java应用程序与各种不同数据库交互的标准接口,如Connection(连接)接口、Statement接口、ResultSet(结果集)接口、PreparedStatement接口等。

        JDBC Driver Manager(驱动程序管理器)由Sun公司提供 ,它是JDBC体系结构的的支柱,负责管理各种不同的JDBC驱动,把Java应用程序连接到相应的JDBC驱动程序上,位于JDK的java.sql包中。

        JDBC驱动由各个数据库厂商或第三方中间件厂商提供,负责连接各种不同的数据库。

3.JDBC API介绍

        JDBC API主要做三件事:与数据库建立连接、发送SQL语句、处理结果 。

        DriverManager类:装载驱动程序,并为创建新的数据库连接提供支持。

        Connection接口:负责连接数据库并担任传送数据的任务。

        Statement接口:由Connection产生,负责执行SQL语句。

        ResultSet接口:负责保存和处理Statement执行后所产生的查询结果。

       PreparedStatement接口:Statement的子接口,也由Connection产生,同样负责执行SQL语句。与Statement接口相比,PreparedStatement接口具有高安全性、高性能、高可读性和高可维护性的优点。    

4.JDBC访问数据库的步骤

        1)加载JDBC驱动

            使用Class.forName()方法将给定的JDBC驱动类加载到Java虚拟机中。若系统中不存在给定的类,则会引发异常,异常类型为ClassNotFoundException。代码示例:

            Class.forName("JDBC驱动类的名称");

        2)与数据库建立连接

             DriverManager类是JDBC的管理层,作用于用户和驱动程序之间。DriverManager类跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。代码示例:

            Connection con = DriverManager.getConnection(数据连接字符串,数据库用户名,密码);

       3)发送SQL语句,并得到返回结果

            一旦建立连接,就使用该连接创建Statement接口的对象,并将SQL语句传递给它所连接的数据库。如果是查询操作,将返回类型为ResultSet的结果集,它包含执行SQL查询的结果。如果是其他操作,将根据调用方法的不同返回布尔值或操作影响的记录数目。示例代码:

           Statement stmt = con.createStatement();

           ResultSet rs = stmt.executeQuery("SELET `id`,`name` FROM `master`");

       4)处理返回结果

            处理返回结果主要是针对查询操作的结果集,通过循环取出结果集中每条记录并做相应处理。代码示例:

            while(rs.next()){

                     int id = rs.getInt("id");

                     String name = rs.getString("name");

                     System.out.println(id +""+name);

}

5.两种常用的驱动方式

   第一种是JDBC-ODBC桥接方式,试用于个人开发与测试,它通过ODBC与数据库进行连接。另一种是纯Java的驱动方式,它直接同数据库进行连接,在生产型开发中,推荐使用纯Java的驱动方式。

    JDBC-桥连就是将对JDBC API的调用转换为对另一组数据库连接(即ODBC)API的调用。

    纯Java驱动方式由JDBC驱动直接访问数据库,驱动程序完全用Java语言编写,运行速度快,而且具备了跨平台特点。

6.Statement接口和ResultSet接口

   使用Connection对象创建Statement对象

    Connection接口常用方法

Statement接口常用方法

ResultSet接口常用方法及作用

7.PreparedStatement接口

   PreparedStatement接口继承自Statement接口,PreparedStatement比普通Statement对象使用起来更加灵活,更有效率。

   为什么要使用PreparedStatement?

   原因是在使用Statement接口方法时要进行SQL语句的拼接,不仅拼接繁琐麻烦、容易出错,还存在安全漏洞,而使用PreparedStatement接口就不存在这个问题。

   PreparedStatement接口常用方法

   使用PreparedStatement操作数据库的基本步骤

    1)创建PreparedStatement对象

    2)设置每个输入参数的值

    3)执行SQL语句

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值