JDBC数据库连接技术.ppt

上传人:小飞机 文档编号:6510360 上传时间:2023-11-07 格式:PPT 页数:26 大小:215.49KB
返回 下载 相关 举报
JDBC数据库连接技术.ppt_第1页
第1页 / 共26页
JDBC数据库连接技术.ppt_第2页
第2页 / 共26页
JDBC数据库连接技术.ppt_第3页
第3页 / 共26页
JDBC数据库连接技术.ppt_第4页
第4页 / 共26页
JDBC数据库连接技术.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《JDBC数据库连接技术.ppt》由会员分享,可在线阅读,更多相关《JDBC数据库连接技术.ppt(26页珍藏版)》请在三一办公上搜索。

1、JDBC数据库连接技术,主要内容,JDBC概述面向程序开发人员的JDBC API面向底层的JDBC Driver APIJDBC Driver介绍创建数据库的连接数据库连接及应用举例,JDBC概述,JDBC出现以前,通过Java访问数据库的唯一方法是利用Java I/O访问服务器端的CGI程序,通过CGI程序访问和操作数据库,每一次访问都会由web服务器启动一个新的CGI进程与数据库建立连接,所以效率低、速度慢且容易出错。JDBC的出现扩充了java的应用范围,通过使用JDBC,应用程序可以很方便的将SQL语句传送给几乎任何一种数据库。简单地说,JDBC能完成:与数据库建立连接向数据库发送SQ

2、L语句处理数据库返回的结果,JDBC概述,Java通过JDBC访问数据库的关系:,JDBC包含两部分API:面向应用程序开发人员的JDBC API和面向底层的JDBC Driver API,面向程序开发人员的JDBC API,被描述成为聚集抽象的接口,通过这些接口应用程序可以实现对数据库的各种操作。最重要的接口包括:Java.sql.DriverManager 处理驱动的加载并且对产生新的数据库连接提供支持Java.sql.Connection 数据库连接对象Java.sql.Statement SQL语句对象PreparedStatement 执行预编译的SQL语句CallableState

3、ment 调用数据库内嵌过程Java.sql.ResultSet 查询结果集对象,面向底层的JDBC Driver API,数据库厂商开发数据库底层驱动程序要使用的,一般情况下程序员用不上这些类库。数据库厂商会提供多种不同类型的驱动程序连接数据库,一般可分为4种类型:Type1、Type2、Type3、Type4清楚了解4种类型的驱动程序的运作方式,对于程序员是很重要的,因为实际开发过程中经常会使用各种不同的数据库、而且在不同的时机必须使用不同类型的的驱动程序来连接数据库。招聘题:你常用的是JDBC驱动的那一种?与其他JDBC驱动相比较,有什么优点?,JDBC Driver介绍,Type1JD

4、BC-ODBC Bridge plus ODBC Driver必须事先创建数据库的ODBC连接,然后再利用JDBC-ODBC Bridge(DBC桥接器)驱动程序,通过ODBC连接数据库,此种方式通常用在实验、测试阶段,或者暂时没有其他驱动可用的情况下。优点:简单缺点:要设置ODBC连接;项目大、用户多时维护ODBC连接很麻烦;性能低、大量效率耗在了JDBC和ODBC之间的数据传递与转换。,JDBC Driver介绍,Type2Native-API partly-Java Driver运作方式与Type1很相似。访问数据库时,利用数据库提供的特别的函数库来完成(Oracle、DB2、Sybas

5、e等都有提供),java利用本地函数的机制与这些函数库沟通。此种方式适用于于用户机器上存在这些函数库。优点:效率高。由于java是利用本地函数机制与数据库提供的函数库沟通,而这些函数库通常是数据库厂商精心优化了的,所以效率很高!缺点:用户必须安装数据库的函数库,JDBC Driver介绍,Type3Pure Java Driver for Database MiddleWare这种类型的驱动就是要解决上面两种驱动所存在的问题。首先这种驱动程序必须有一个中间层服务器(middleware server),当用户要与数据库沟通时,会利用JDBC与中间层服务器连接,而中间层服务器会将JDBC的调用转

6、换成数据库的协议并调用数据库,最后将数据库的返回值再转换成JDBC的格式返回给用户。如此一来用户就不需要设置ODBC数据源或者安装数据库连接的函数库了。事实上,中间层服务器还是利用ODBC或者函数库来与数据库进行沟通的。优点:用户端不用做任何设置;直接连接的是中间层服务器,所以驱动程序SIZE较小;非常适用于Applet中要连接数据库的应用。缺点:要花钱买中间层服务器,且需要考虑它的性能及稳定性,JDBC Driver介绍,Type4Direct-to-Database Pure Java Driver算是真正的JDBC驱动程序,因为这种驱动程序完全由Java完成,包括与数据库打交道的各种网络

7、、沟通协议,几乎所有的数据库厂商都提供了这种类型的驱动程序,甚至有公司在专门制作这种驱动程序。优点:性能好,不必事先安装任何函数库或作任何设置,是选择驱动程序时非常好的选择。缺点:不同的数据库需要不同的驱动。,JDBC Driver介绍,4种类型的驱动比较表,总结:基本上Type1与Type2属于同一种类型,而Type3与Type4则都是数据pure Java的JDBC驱动程序一般情况下都使用Type4,Type1用于测试或暂时找不到其他驱动的情况下,JDBC Driver介绍,思考:怎样知道自己现在到底用的是那种类型的驱动呢?如果须设置用户端,则为Type1或Type2;反之若不需考虑用户端

8、,则为Type3或者Type4。在Type1与Type2中,若需设置的是ODBC数据源,则为Type1,否则为Type2在Type3与Type4中,若存在中间层服务器,则为Type3,否则为Type4,创建数据库的连接,环境设置步骤:找到JDBC驱动程序,通常以一个或者多个Jar包的形式提供判断驱动程序的Type,根据Type作一些使用前的额外设置,如:Type1:安装ODBC驱动程序、设置ODBC数据源Type2:安装DB Client的函数库、设置数据库的连接Type3:安装设置Middle Ware服务器Type4:无将驱动程序jar包设置到classpath中,创建数据库的连接,一个基

9、本的JDBC应用的开发都包含以下步骤:引入相应的包加载JDBC驱动程序创建连接对象创建SQL语句对象执行数据库操作如果有查询结果集返回,处理结果集释放相关资源,创建数据库的连接,引入相应的包import java.sql.*;import javax.sql.*;(高级应用)加载JDBC驱动程序Class.forName(“JDBC驱动类名);每个Driver类在得到加载的时候,一般都会自动创建一个它本身的实例,并通过DriverManager类的registerDriver方法来自动注册该实例;程序员也可以显示的调用newInstance()方法强制实施这一过程,即:Class.forNam

10、e(“JDBC驱动类名”).newInstance();对于”JDBC驱动类名”,Type4各有不同,Type1均为”,创建数据库的连接,创建连接对象Connection con=DriverManager.getConnection(“数据库url”,“userName”,“password”);DriverManager类会尝试找到与传递进来的url字符串所代表的数据库进行连接的驱动程序(DriverManager类存有已注册的Driver类的清单),然后创建一个连接对象并返回。关于”数据库url”JDBC URL标准部分由三部分组成,jdbc:jdbc固定标识驱动名或数据库连接机制,如m

11、ysql一种标识数据库的方法,如/localhost/mydb MySQL中mydb数据库的url完整写法:jdbc:mysql:/localhost/mydb,创建数据库的连接,创建SQL语句对象Statement stmt=con.createStatement();SQL语句对象用于向数据库传送SQL语句,另外还有PreparedStatement和CallableStatement这两种语句对象。用SQL语句对象执行数据库操作查询:ResultSet rs=statement.executeQuery(String sql);更新(删除):int updatedrowcount=sta

12、tement.executeUpdate(String sql);,创建数据库的连接,如果有查询结果集返回,处理结果集调用SQL语句对象的方法对数据库进行查询操作后,将返回一个ResultSet对象,此对象是由统一形式的列组织的数据行组成。ResultSet对象一次只能看到一个数据行,使用next()方法走到下一数据行。获得一行数据后,ResultSet对象可以使用getXxx()方法获得字段值,将位置索引(第一列为1,第二列为2等)或字段名传递给getXxx(.)方法的参数即可ResultSet类的若干方法(查阅JDK文档)Boolean next()String getString(int

13、columnIndex)Int getInt(intcolumnIndex)float getFloat(intcolumnIndex)释放相关资源rs.close();stmt.close();con.close();ResultSet对象会在生成它的SQL语句对象被关闭或重新执行时自动关闭,使用Type4驱动连接数据库举例,SQL Server2000驱动程序jar文件:msbase.jar,mssqlserver.jar,msutil.jar驱动类名:数据库URL,如yinhe数据库:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseNam

14、e=yinhe 1433是SQL Server数据库连接服务的默认端口,可用telnet先测试举例:检索出一个数据表里的所有内容,并打印结果到命令提示符终端。,使用Type4驱动连接数据库举例,MySQLMySQL没有提供数据库操作的GUI,数据库、表的创建需要使用DDL驱动程序jar文件:驱动类名:数据库URL,如yinhe数据库:jdbc:mysql:/localhost/yinhe,复习与实践,使用Type4驱动连接MySQL数据库安装MySQL数据库使用DDL创建数据库(如yinhe)、数据表(employees)使用Java连接数据库,并检索出一个数据表中的全部内容打印到屏幕终端复习

15、内容:JDBC数据库应用的一般流程,Type4驱动的使用,使用Type4驱动连接其它常见数据库,OracleClass.forName(“”);Connection con=DriverManager.getConnection(“jdbc:oracle:thin:localhost:1521:databaseName”,“user”,“password”);Postgre SQLClass.forName(“”);Connection con=DriverManager.getConnection(“jdbc:postgresql:/localhost/databaseName”,“user

16、”,“password”);,使用Type1驱动连接数据库举例,要点:首先要设置并测试ODBC数据源Type1驱动名均为:此驱动位于rt.jar包中,所以classpath不需要专门设置数据库URL:jdbc:odbc:数据源名字如yinhe数据库,对应的ODBC数据源是milkway,则为:jdbc:odbc:milkway举例:使用Type1驱动连接SQL Server2000数据库,复习与实践,使用Type1驱动连接Access数据库Notes:与使用Type1驱动连接SQL Server2000的步骤完全一样复习内容JDBC数据库应用的一般流程,Type1驱动的使用补充小技巧不用手动注

17、册ODBC数据源直接连接Access数据库:只需将数据库得连接url写成“jdbc:odbc:Driver=Microsoft Access Driver(*.mdb);DBQ=c:test.mdb“的形式即可,对于其他的小型数据库如foxpro,甚至excel也可以。,以数据库的方式查询Excel表格,方法,通过jdbc-odbc桥接器(即Type1驱动)步骤:(1).建立ODBC数据源,指向要连接的Excel文件(2).Excel文件中是没有像数据库中那样的数据表的,需要手工指定,数据表的概念在Excel文件中对应就是自定义名称:在Excel表格中选中一块要操作的区域-“插入”-“名称”-“定义”,取个名字,这个名字就是在程序中要操作的数据表名。(3).以后的步骤完全同其他情况下Type1驱动的使用。,作业:,在自己机器上安装SQL Server2000数据库编写一个类用于连接数据库,其中数据库 URL,用户名和密码可以通过构造函数传递使用上面的类连接数据库,并用Statement执行一个查询语句,打印出结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号