目录
15 引言
15.1.1 数据库语言SQL
15.2 JDBC体系结构
15.2.1 JDBC访问数据库
15.2.2 JDBC API介绍
15 引言
数据库系统(database system,DBS)由一个互相关联的数据集合和一组用以访问这些数据的程序组成。这个数据集合通常称为数据库。
数据库管理系统是计算机系统的基础软件,也是一个大型的软件系统。它主要实现对共享数据有效的组织、存储、管理和存取。
15.1.1 数据库语言SQL
SQL(Structured query language)称为结构化查询语言,是每种数据库系统都提供的数据库操作语言。SQL语言可以分成如下几类:
数据库定义语言(data definition language,DDL):用于定义、修改和删除数据库、模式表、视图、索引等数据库对象。大多数数据库对象都可以使用CREATE、ALTER和DROP命令创建、修改和删除。使用DDL语言定义数据库对象时,会将其定义保存在数据字典(或数据目录)中。
数据操纵语言(data manipulation language,DML):用于查询、插入、修改和删除表中记录。查询数据使用SELECT命令,插入数据使用INSERT命令,修改数据使用UPDATE命令,删除数据使用DELETE命令。
数据控制语言(data control language,DCL):用于控制用户访问数据库。最常用的DCL包括GRANT和REVOKE命令,它们分别用于授权和收回权限,SavePoint 关键字用于在数据库事务中设置一个存储点,在一个较长的事务中暂存数据,如果在事务末尾执行回滚,可选择性的回滚到 SavePoint 设置的暂存点。
15.2 JDBC体系结构
Java程序通过JDBC访问数据库。JDBC是Java程序访问数据库的标准接口,由一组Java语言编写的类和接口组成,这些类和接口称为JDBC API。JDBC API为Java语言提供一种通用的数据访问接口。
JDBC的基本功能如下:
(1)建立与数据库的连接
(2)发送SQL语句
(3)处理数据库操作结果、
15.2.1 JDBC访问数据库
JDBC应用程序访问数据库的一般过程如图15-2所示。应用程序通过JDBC驱动程序管理器加载相应的驱动程序,通过驱动程序与具体的数据库连接,然后访问数据库。
Java应用程序要成功访问数据库,首先要加载相应的驱动程序。要使驱动程序加载成功,必须安装驱动程序。有的数据库管理系统安装后就安装了JDBC驱动程序(如Oracle数据库),这是只需将驱动程序文件添加到CLASSPATH环境变量中即可。
对没有提供驱动程序的数据库系统(如MYSQL和PostgreSQL),需要单独下载驱动程序,然后需要在CLASSPATH环境变量中指定该驱动程序文件,这样Java应用程序才能找到其中的驱动程序。
注意:在JavaSE 8中JDBC-ODBC桥驱动程序已被删除,所以不能再使用这种方法连接数据库。
15.2.2 JDBC API介绍
JDBC API可以访问从关系数据库到电子表格的任何数据源,使开发人员可以用纯Java语言编写完整的数据库应用程序、JDBC API已经会成为Java语言的标准API。在Java8中的版本是JDBC4.2.在JDK中是通过java.sql和javax.sql两个包提供的。
java.sql包提供了为基本的数据库编程服务的类和接口,如驱动程序管理的类DriverManager、创建数据库连接Connection接口、执行SQL语句以及处理查询结果的类和接口
等。
java.sql包中常用的类和接口之间的关系如上图所示。图中类和接口之间的关系表示通过使用DriverManager类中可以创建Connection连接对象,通过Connection对象可以创建Statement语句对象或PreparedStatement语句对象,通过语句对象可以创建ResultSet结果集对象。
javax.sql包主要提供服务器端访问与处理数据源的类和接口,如DataSource、RowSet、RoSetMetaData、PooledConnection接口等。它们可以实现数据源管理、行集管理以及连接池管理等。