JSP中用JDBC访问数据库.ppt
《JSP中用JDBC访问数据库.ppt》由会员分享,可在线阅读,更多相关《JSP中用JDBC访问数据库.ppt(45页珍藏版)》请在三一办公上搜索。
1、学习内容:了解JDBC数据库访问技术和JDBC的常用接口掌握JDBC数据库驱动程序的获取和安装掌握使用JDBC访问数据库的方法掌握JSP、Servlet、JavaBean中数据库的连接和操作理解连接池和数据源的概念掌握连接池典型编程方法,第7单元 用JDBC访问数据库,JDBC概述,用JDBC访问数据库,DAO与数据库连接池,什么是JDBC,JDBC是Java数据库连接(Java DataBase Connectivity)技术的简称,由一组用Java语言编写的类和接口组成。JDBC是一组独立于特定数据库管理系统的、通用的SQL数据库存取和操作的公共接口(在java.sql和javax.sql
2、包中)。JDBCTM本身是个商标名而不是一个缩写字;JDBC由JavaSoft公司(Sun公司负责开发Java产品的业务单位)同数据库及数据库工具厂家一起建立的独立于DBMS的机制;JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。JDBC的设计目标:JDBC是一种规范,最主要的设计目的是让各个数据库开发商为Java程序员提供标准的数据库访问的类和接口;不必在不同的系统平台下编写不同的数据库应用程序。对不同DBMS管理的数据进行一致的操作,而不必关心其存储格式;可以使用Java语言来编写完整的数据库方面的应用程序。,JDBC的优缺点,JD
3、BC的优点:可移植性强:JDBC支持多种关系型数据库,只需用JDBC API编写一个程序即可访问不同的数据库;JDBC使程序员不关注驱动程序的编写,完全专著业务逻辑的开发。可以用JDBC-ODBC桥驱动器将JDBC函数调用转换为ODBC;JDBC接口是面向对象的,开发人员可以将常用的方法进行二次封装,从而提高代码的重用性。JDBC缺点:通过JDBC访问数据库时,实际的操作速度会降低。虽然JDBC编程接口是面向对象的,但通过JDBC访问数据库仍然是面向关系的。JDBC提供了对不同厂家的数据库产品的支持,这样对数据源的操作有所影响。与ODBC相比,JDBC没有定制的数据源的概念,而是直接在应用程序
4、中加载驱动程序并连接特定的数据库。,ODBC体系结构,ODBC(开放数据库互连):微软为实现异构数据库互连而推出的一种标准,它是一个单一的、公共的编程接口。ODBC的体系结构含有四个部件:应用程序Application:执行ODBC函数调用和处理,提交SQL语句并检索结果。驱动程序管理器Driver Manager:为应用程序装载驱动程序。,驱动程序Driver接口:实现ODBC函数调用和同数据源交互作用的动态连接库,执行ODBC函数调用提交SQL请求到指定的数据源,并把结果返回给应用程序。需要时,驱动程序也可改变应用程序请求,以和特定DBMS的语法匹配。数据源Data Source:由需要交
5、互的数据和与之相连的OS、DBMS及存取DBMS的网络平台组成。,JDBC体系结构,JDBC接口(API)也包括两个层次(与ODBC相类似):面向应用的API(Java API抽象接口):供应用程序开发人员使用包括:连接数据库、执行SQL语句、获得结果面向数据库的API(java Driver API):供数据库厂商实现相应的数据库驱动程序(驱动程序是实现了接口的类)。,加载某个数据库驱动程序类时,将创建相应的实例并向类注册该对象。其执行过程如下:,JDBC驱动程序的类型,JavaSoft定义了四种JDBC驱动程序的基本类型。建议使用:JDBC-ODBC桥驱动程序,数据库协议驱动程序;不建议使
6、用:网络协议驱动程序,本地Java驱动程序。,数据库协议驱动程序:驱动程序用于与数据库客户端API进行通信(代替JDBC-ODBC桥)性能会比桥略好,是一种低成本数据库解决方案,许多厂商将该类驱动程序捆绑在其产品中。,JDBC-ODBC桥驱动程序:将JDBC翻译成ODBC后,再用ODBC驱动程序与数据库通信。仅用于:有ODBC驱动程序但没有提供JDBC驱动程序的数据库系统;或已使用ODBC的低成本数据库解决方案。,纯Java类库的驱动程序,网络协议驱动程序:将JDBC命令转换为与数据库系统无关的网络协议,并发送给一个中间件服务器。中间件服务器再将该网络协议,转换为特定数据库系统的协议,并发送给
7、数据库系统。从数据库系统获得的结果,先发送给中间件服务器,并进而返回给应用程序。,本地Java驱动程序:纯Java的驱动程序,直接与特定的数据库系统通信;即驱动程序将JDBC请求直接翻译成特定DBMS协议。优点:没有中间的转换或者是中间件。通常用于提高数据库访问的性能。,JDBC的主要功能,JDBC API多集中在java.sql包中,按功能可分为6类:管理连接数据源:DriverManager,Driver,Connection发送SQL语句:Statement,PreparedSatement,CallableStatement获取查询的结果集:ResultSet用于匹配SQL数据类型与J
8、ava数据类型用于获取数据库元数据:DatabaseMetaData提供了异常处理功能:SQLException,JDBC的主要使用步骤,使用JDBC技术的主要步骤为:1)注册或加载JDBC驱动程序;2)建立与数据库的连接;3)发送SQL语句;4)处理返回结果;5)关闭相关连接。,与上述操作相关的类或接口::用来装载驱动程序,并且为创建新的数据库联接提供支持。:完成对某一指定数据库的联接:在一个给定的连接中作为SQL执行声明的容器,他包含了两个重要的子类型。:用于执行预编译的sql声明:用于执行数据库中存储过程的调用:对于给定声明取得结果的途径,注册和加载驱动器,1.加载连接数据库的驱动程序类
9、任何一种数据库驱动程序都要提供一个实现接口的驱动类,在加载数据库驱动类时,创建相应的实例对象并向类注册该实例对象。将JDBC加到Build Path:,为程序加载驱动器类:一般用Class.forName()方法显式地加载一个驱动程序类,由驱动程序负责向DriverManager注册;新加载的驱动类都通过调用DriverManager类中的registerDriver()方法进行自动注册。,获取与数据库的连接,2.创建与数据源的连接:数据源的URL:jdbc:database locator其中:jdbc要使用JDBC;Subprotocal驱动程序类型database locator:网络数
10、据库的主机名、端口和数据库名等,获取数据库连接的元数据,通过接口可获得数据库的整体综合信息,典型数据库驱动程序,使用JDBC-ODBC桥连接数据库,创建ODBC连接:打开ODBC数据源管理器,增加新的数据源。,编写程序,小结,JDBC是一个独立于特定数据库管理系统的、通用的SQL数据库存取和操作的公共接口;JDBC定义了用于访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源,象ODBC一样,JDBC对开发者屏蔽了一些细节问题。JDBC使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多
11、的了解,从而大大简化和加快了开发过程。,用JDBC访问数据库,访问数据库的数据,访问数据库中的数据分为三种方式:Statement:执行无参数的静态SQL语句PreparedStatement:执行带或不带IN参数的预编译SQL语句;CallableStatement:执行存储过程调用。,接口StatementStatement接口常用的执行SQL语句的方法:,接口Statement使用示例,Statement应用要点,Statement应用要点JDBC编译时并不对将要执行的SQL查询语句作任何检查,仅将其作为一个String对象,直到驱动程序执行SQL查询语句时才检查否正确;若出现错误,执行
12、时将会产生 SQLException;一个Statement对象在同一时间只能打开一个结果集,对第二个结果集的打开隐含关闭第一个结果集;若想对多个结果集同时操作,必须创建多个Statement对象,在每个Statement对象上执行SQL查询语句以获得相应的结果集;若不需要同时处理多个结果集,则可以在一个Statement对象上顺序执行多个SQL查询语句,对获得的结果集进行顺序操作;注意:必须将JDBC驱动程序包加到项目classpath中。在使用Statement时,可能引发SQL注入的问题。,使用Statement要注意引发SQL注入,预编译PreparedStatement对象,用Pre
13、paredStatement对象可多次执行一个SQL语句PreparedStatement对象通过传递不同参数值多次执行同一SQL 语句,可得到多个不同的结果。PreparedStatement的实现机制:使用PreparedStatement对象执行Sql命令时,Sql被DBMS进行解析和编译,然后放到命令缓冲区;每当执行同一个PreparedStatement对象时,就被再解析一次,但不被再次编译。在大量用户的企业级应用中,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。executeUpdate(String sql):能执行添加(insert)、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 中用 JDBC 访问 数据库

链接地址:https://www.31ppt.com/p-6510403.html