Web开发

首页 » 常识 » 诊断 » JDBC入门基础教程
TUhjnbcbe - 2023/3/6 19:37:00

本文摘自千锋教育《JavaWeb开发实战》,转载请注明来源,谢谢!

1.1.1持久化

持久化是指将数据存储到可永久保存的存储设备中。持久化的主要应用场景是将内存中的对象存储在数据库、XML数据文件或其他种类的磁盘文件中。

同时,持久化也是将程序数据在瞬时状态和持久状态之间转换的机制,它的出现是为了弥补计算机内存的缺陷,这可以从以下两个方面理解。

l内存掉电后数据会丢失,但有些数据是无论如何都不能丢失的,比如银行账号、交易信息等,这些数据需要存储到可永久保存的存储设备中。

l内存过于昂贵,与磁盘、光盘相比,内存的价格要高出不少,而且维持成本较高,因此,内存资源是相对稀缺的。在程序运行过程中,因为内存容量限制,一些数据需要被持久化到外部存储设备中。

持久化有多种实现形式,在Java编程中,常见的持久化方式是将程序产生的数据存储到数据库中,而JDBC则是实现这一过程的重要工具。

1.1.2JDBC的概念

JDBC是JavaDataBaseConnectivity(Java数据库连接)的简写,它是一套用于执行SQL语句的JavaAPI,它由一组用Java语言编写的类和接口组成,是Java程序访问数据库的标准规范。

通过JDBC提供的API,应用程序可以连接到数据库,并使用SQL语句完成对数据库中数据的插入、删除、更新、查询等操作,如图1.1所示。有了JDBC,开发人员无需为访问不同的数据库而编写不同的应用程序,只需使用JDBC编写一个通用程序即可。

应用程序在使用JDBC访问特定的数据库时,需要与不同的数据库驱动进行连接。JDBC提供接口,而驱动是接口的实现,没有驱动将无法完成数据库连接。每个数据库提供商都需要提供自己的驱动,用来连接本公司的数据库,如图1.2所示。

1.1.3JDBC的体系结构

JDBC具有自身独特的体系结构,具体如图1.3所示。

从图1.3中可以看出,JDBC的体系结构由三层组成,具体如下。

lJDBCAPI:面向程序,供Java程序开发人员使用。

lJDBCDriverManager:注册数据库驱动,供Java程序开发人员使用。

lJDBCDriverAPI:面向数据库,供数据库厂商使用。

其中,JDBCAPI通过DriverManager(驱动管理器)实现与数据库的透明连接,提供获取数据库连接、执行SQL语句、获得结果等功能。JDBCAPI使开发人员获得了标准的、纯Java的数据库程序设计接口,为在Java程序中访问任意类型的数据库提供支持。JDBCDriverManager(驱动管理器)为应用程序装载数据库驱动,确保使用正确的驱动来访问每个数据源。JDBCDriverManager的一个特色功能是,它能够支持连接到多个异构数据库的多个并发驱动程序。JDBCDriverAPI提供了数据库厂商编写驱动程序时必须实现的接口。

JDBC扩展了Java的能力,它可以让开发人员在开发数据库程序时真正实现一次编写,处处运行,例如,企业可以通过JDBC程序让使用不同操作系统的员工在互联网上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。

1.1.4JDBC的常用API

JDBC定义了一系列操作数据库的接口和类,这些接口和类位于java.sql包中。接下来,本节将详细介绍JDBC的常用API。

1.Driver接口

Driver接口是所有JDBC驱动程序必须要实现的接口,该接口提供给数据库厂商使用。在编写JDBC程序时,必须先装载特定数据库厂商的驱动程序,装载驱动程序通过java.lang.Class类中的静态方法forName()实现。

2.DriverManager类

DriverManager类用于加载JDBC驱动并创建与数据库的连接,DriverManager类的常用方法,具体如表1.1所示。

3.Connection接口

Connection接口表示Java程序和数据库的连接,Java程序和数据库的交互是通过Connection接口来完成的。Connection接口的常用方法,具体如表1.2所示。

4.Statement接口

Statement接口用于向数据库发送SQL语句,Statement接口提供了三个执行SQL语句的方法,具体如表1.3所示。

5.PreparedStatement接口

继承自Statement接口,用于执行预编译的SQL语句,PreparedStatement接口提供了一些对数据库进行基本操作的方法,具体如表1.4所示。

6.CallableStatement接口

继承自PreparedStatement接口,由方法prepareCall()创建,用于调用SQL存储过程。CallableStatement接口提供了一些对数据库进行基本操作的方法,具体如表1.5所示。

7.ResultSet接口

ResultSet接口表示执行select查询语句获得的结果集,该结果集采用逻辑表格的形式封装。ResultSet接口中提供了一系列操作结果集的方法,具体如表1.6所示。

ResultSet对象维护了一个指向表格数据行的指针,指针默认在第一行之前,调用next()或previous()等移动指针的方法,可以使指针指向具体的数据行,进而调用getObject()方法获取指定的查询结果。

8.ResultSetMetaData接口

ResultSetMetaData接口用于获取关于ResultSet对象中列的类型和属性信息的对象。ResultSetMetaData接口的常用方法,具体如表1.7所示。

1.1.5JDBCURL

JDBCURL提供了一种标识数据库的方法,它可以使JDBC程序识别指定的数据库并与之建立连接。大家在编写JDBC程序时,无需

1
查看完整版本: JDBC入门基础教程