【J2EE浅析】——JDBC
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,核心内容是对13种技术规范(API和组件)的学习和使用。接下来介绍一下Java数据库链接。
一、JDBC简介
JDBC(Java Data BaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序。JDBC规范采用接口和实现分离的思想设计了Java数据库编程框架。接口包含在java.sql和javax.sql包中。这些接口的实现类叫做数据库驱动程序。
二、JDBC驱动程序
JDBC驱动程序是各个数据库厂家根据JDBC的规范制作的JDBC实现类,主要包括四种类型:
1、第一种:实现是通过JDBC的调用全部委托给其编程接口来实现的,比如ODBC。这种类型的驱动程序需要安装本地代码库,即依赖于本地的程序,所以便携性较差。如JDBC-ODBC桥驱动程序。
2、第二种:实现是部分基于Java语言的。即该驱动程序一部分是用Java语言编写,其它部分委托本地的数据库的客户端代码来实现。同类型1的驱动一样,该类型的驱动程序也依赖本地的程序,所以便携性较差
3、第三种:实现是全部基于JAVA语言的。该类型的驱动程序通常由某个中间件服务器提供,这样客户端程序可以使用数据库无关的协议和中间件服务器进行通信,中间件服务器再将客户端的JDBC调用转发给数据库进行处理
4、第四种:实现是全部基于JAVA语言的。该类型的驱动程序中包含了特定数据库的访问协议,使得客户端可以直接和数据库进行通信。
三、JDBC编程步骤
进行JDBC编程步骤大致如下:
1、加载数据库驱动
Class.forName(driverClass),上面的dirverClass就是数据库驱动类所对应的类路径字符串,根据不同数据库厂商提供的驱动也不同。
2、通过DriverManager获取数据库的链接
DriverManager.getConnection(Stringurl, Stirng user, String pass),当使用DriverManager来获取链接,需要传入三个参数:分别是数据量的url、用户名、密码。
3、通过Connection对象创建Statement对象,Connection创建Statement的方法如下三个:
createStatement()创建基本的Statement对象。prepareStatement(String sql):根据传入的sql语句创建预编译的Statement对象。prepareCall(String sql):根据传入的sql语句创建CallableStatement对象
4、Statement执行SQL语句,Statement有三大方法来执行SQL语句:
execute:可以执行任何SQL语句,单比较麻烦
executeUpdate:可以执行DML、DDL语句。执行DML返回受影响的SQL语句行数,执行DDL返回0;
executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
5、操作结果集,针对ResultSet
主要移动指针和获得值next、previous、first、last、beforeFrist、afterLast、absolute等移动指针的方法。getXxx获得移动指针指向行,特定列、索引的值。使用列名作为获取值的参数可读性好、使用索引作为获取参数性能好。
四、JDBC &ODBC
说到JDBC,我们首先会想到ODBC。我们之前接触的数据库链接都是用ODBC配置的,Microsoft的 ODBC API 可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。
但是,为什么java要用JDBC呢?因为ODBC使用C语言接口,不适合直接在java中使用。从Java调用本地C代码在安全性、实现、坚固性和程序的自动一致性方面有很多缺点。从 ODBC C API 到 Java API的字面翻译是不可取的。而且如果使用ODBC,就必须手动地将 ODBC 驱动程序管理器和驱动程序安装在每台客户机上。如果完全用 Java 编写 JDBC驱动程序则 JDBC 代码在所有 Java 平台上(从网络计算机到大型机)都可以自 动安装、移植并保证安全性。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。