JDBC主要API介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JDBC主要API介绍
目录
JDBC概述 (2)
JDBC原理以及驱动程序的分类 (2)
JDBC 编程步骤 (3)
JDBC API介绍 (3)
JDBC概述
现在我们开发的应用程序,越来越多的要跟数据库打交道了。尤其是B/S应用程序,因为现在的网页基本上都是动态网页,动态网页就意味着,页面的信息是要经常发生变化的。而存储这些数据的载体,主要就是数据库。那我们就势必要掌握用应用程序操作数据库和其中的数据的方法。在Java中,我们是使用JDBC技术来实现应用程序操作数据库的。JDBC是 Java Data Base Connectivity的简称,意思是Java数据库连接。它是用来连接数据库和操作数据库的一组API。无论是C/S应用程序还是B/S应用程序,我们都可以使用JDBC来操作数据库。
JDBC原理以及驱动程序的分类
(1)JDBC原理
原来的SUN公司(现在是Oracle公司)在开发JDBC API时,将这些接口和类放在了两个包中,java.sql包和javax.sql包中。而主要的接口和类都是在java.sql包中,javax包叫做扩展包,javax.sql包中有一些关于数据源、连接池和其他的一些扩展的接口和类。
JDBC中最常用的几个接口和类是 DriverManager类、Connection接口、Statement接口、ResultSet接口,DriverManager这个类是管理驱动程序的,可以获得数据库连接对象。JDBC 的驱动程序是实现了JDBC API接口的类,由数据库厂商来提供,所以我们在使用JDBC连接数据库的时候,需要导入数据库的驱动包,连接不同的数据库,需要导入不同的包。
而我们在编写Java应用程序时,基本上不用太关心这些包中的类。我们只需要用JDBC的接口进行编程就可以了,也就是java.sql包和javax.sql包中的接口。这些接口的对象都是通过其他对象来获得的,我们不需要通过new来创建它们。而这些对象的具体实现都是在驱动程序中实现的,是驱动程序类的对象。
(2)驱动程序分类
JDBC驱动有四种,常用的JDBC驱动有两种。在个人开发与测试中,可以使用JDBC-ODBC 桥连方式,在生产型开发中,推荐使用纯Java驱动方式。
通过JDBC-ODBC桥,开发者可以使用JDBC来访问一个ODBC数据源。JDBC-ODBC桥驱动程序为Java应用程序提供了一种把JDBC调用映射为ODBC调用的方法。只要本地机装有相关的ODBC驱动,那么采用JDBC-ODBC桥几乎可以访问所有的数据库。但是,由于JDBC-ODBC先调用 ODBC再由ODBC去调用本地数据库接口来访问数据库。所以,执行效率比较低,对于那些大数据量存取的应用是不适合的。而且,这种方法要求客户端必须安装ODBC驱动,所以对于基于internet和intranet的应用也是不合适的。因为,你不可能要求所有客户都能找到ODBC 驱动。
使用JDBC-ODBC进行桥连步骤如下:
1、配置数据源:控制面板→管理工具→ODBC数据源→系统DSN
2、编程,通过桥连方式与数据库建立连接
纯Java驱动是我们以后用的最多的一种方式。纯Java驱动直接把JDBC调用转换为符合相
关数据库系统规范的请求。用这种驱动编写的应用程序可以直接和数据库服务器通讯。这种类型的驱动完全由Java实现,因此实现了平台独立性。
由于纯Java驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器,而是将JDBC调用直接转换为DBMS所使用的网络协议,所以它的执行效率是非常高的。这种驱动程序可以动态的被下载。但是它有一个缺点,就是对于不同的数据库,需要下载不同的驱动程序。
使用纯Java驱动方式进行直连的步骤:
1、下载数据库厂商提供的驱动程序包
2、将驱动程序包引入工程中
3、编程,通过纯Java驱动方式与数据库建立连接
JDBC 编程步骤
要使用JDBC连接和操作数据库,有一套固定的步骤。依照这些步骤,可以保证你正确的连接到数据库并且操作它。
第一步是注册驱动,Class.forName()方法将驱动程序类加载到虚拟机的内存中。
第二步是获得数据库的连接,是使用DriverManager类的getConnection()方法来获得的,同时需要在参数中给出连接数据库的URL和用户名、密码。这一步将得到一个数据库连接对象,是Connection类型的。
第三步是用数据库连接对象获得一个Statement对象,这个对象可以用来执行SQL语句。
第四步就是用Statement对象执行SQL语句了。其实,说是用Statement对象来执行SQL 还不够准确,因为SQL语句只能被数据库来执行,Statement只是负责发送SQL和接收结果。但是不管是谁在执行,这一步都将执行SQL语句。
第五步是处理执行结果,如果是更新的操作,可能是判断一下是否更新成功,如果是查询的操作,可能就是输出查询结果等等。
最后,一定要记得释放数据库的连接。因为数据库的连接是一个重量级的对象。如果是多用户并发访问的应用程序,比如B/S应用程序,每个用户都是只连接但不释放,将不断耗费服务器的资源直至服务器down机。
JDBC API介绍
JDBC的API中主要定义了一些连接和操作数据库的接口,而具体的类却很少。这是因为,在开发Java的API的时候,不可能让JDBC连接某个具体的数据库,而只能确定一组规范。而连接具体数据库的实现,应该由数据库的厂商来做。通过统一的JDBC规范,使得我们在连接各种数据库的时候,编码的方式是一样的,这样更利于代码的复用和移植。
从上面JDBC编程步骤中可以看出,使用JDBC操作数据库需要依赖几个主要的JDBC API,接下来介绍这几个JDBC API的使用(大家也可以结合帮助文档查看):
(1)DriverManager类是用来管理数据库驱动的,java.sql包中大多数都是接口,这是为