(1)客户端机器需要与服务器进行通讯,要操作数据库中的数据,执行SQL(StructuredQueryLanguage结构化查询语言)语句以及检索查询结果;
(2)在Java中实现这些活动的技术称作JDBC。
(3)JDBC(Java数据库连接Java database connectivity)是一种用于执行SQL语句的Java API。它由一组用Java编程语言编写的类和接口组成,为开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。
(4)利用JDBC可以将Java代码连接到Oracle、DB2、SQL Server、MySQL等数据库,从而实现对数据库的操作。
(1)
<1>ODBC(OpenDataBaseConnectivity)指开放式数据库连接,是由Microsoft公司提供的应用程序接口;
<2>它负责连接各种不同产商和类型的DBMS,然后为各种不同的编程语言提供查询、插入、修改和删除数据的功能;
<3>如同在各种不同的DBMS和各种不同的编程语言之间架设了一座通用的桥梁。
(2)
<1>JDBC(JavaDataBaseConnectivity)是由Sun Microsystem公司提供的API(ApplicationProgrammingInterface应用程序编程接口);
<2>它为Java应用程序提供了一系列的类,使其能够快速高效地访问数据库;
<3>这些功能是由一系列的类和对象来完成的,我们只需使用相关的对象,即可完成对数据库的操作。
(3)虽然JDBC和ODBC有很多异同点,比如JDBC可移植性比ODBC要好,JDBC使用Java语言编写的….但是,JDBC与ODBC都是用来连接数据库的启动程序,它们的本质是相同的,都是为了处理SQL语句而设计的。而且JDBC在设计的时候,其也是在ODBC的基础上进行设计的,并保留了ODBC数据库驱动程序的部分功能。或者说,我们可以把JDBC看作是ODBC的另一个高级版本也未尝不可。JDBC主要在操作上、友好性上做了一定的改进。
(注:如果应用程序采用的是JAVA开发平台的话,那么最好使用JDBC数据库启动程序;本篇博客介绍的不是ODBC和JDBC的不同,而是初步了解JDBC)
(1)使用JDBC连接数据库可以通过不同的驱动方式来实现,有4种驱动类型:
(2)不论采用哪种驱动方式,在程序中对数据库的操作方式基本相同,只是加载不同的驱动程序即可。
(1)Java.sql包也是java内置的包,其中包含了一系列用于数据库进行通信的类和接口;
(2)如果要使用到这些类和接口的话,则必须显式地声明如下语句:
Importjava.sql.*;
(3)
Java.sql包中的一些接口
接口名称 |
说 明 |
Connection |
连接对象,用于与数据库取得连接 |
Driver |
用于创建连接(Connection)对象 |
Statement |
语句对象,用于执行SQL语句,并将数据检索到结果集(ResultSet)对象中 |
PreparedStatement |
预编译语句对象,用于执行预编译的SQL语句,执行效率比Statement高 |
CallableStatement |
存储过程语句对象,用于调用执行存储过程 |
ResultSet |
结果集对象,包含执行SQL语句后返回的数据的集合 |
Java.sql包中的一些类:
类 名 称 |
说 明 |
SQLException |
数据库异常类,是其它JDBC异常类的根类,继承于java.lang.Exception,绝大部分对数据库进行操作的方法都有可能抛出该异常 |
DriverManager |
驱动程序管理类,用于加载和卸载各种驱动程序,并建立与数据库的连接 |
Date |
该类中包含有将SQL日期格式转换成Java日期格式的方法 |
TimeStamp |
表示一个时间戳,能精确到纳秒 |
(1)建立数据源
(2)加载驱动程序
(3)获得连接对象
(4)创建语句对象
(5)执行Sql语句
(6)关闭资源
JDBC与ODBC类似,也是一个应用程序与数据库进行通信的中介。只是他们的开发商不同而已。JDBC是由Sun公司向关系型数据库系统厂商提供JDBC的规格与需求;然后各大厂商遵循标准规格设计出符合自己数据库产品的JDBC驱动程序。虽然JDBC与ODBC都可以实现类似的功能,但是他们的开发架构不同,其实现细节上也有所差异。为此数据库管理员必须要了解这方面的差异,并在工作中根据实际情况来选择合适的数据库驱动程序。
JDBC应用程序接口是JAVA程序语言内针对数据存取所涉及的程序开发接口,其内部是由许多类与接口构成。而ODBC则是由C语言来开发的。
JDBC在设计的时候,其也是在ODBC的基础上进行设计的,并保留了ODBC数据库驱动程序的部分功能。或者说,我们可以把JDBC看作是ODBC的另一个高级版本。