您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > JDBC与Java数据库编程
3Sept.2008©NeusoftConfidentialJDBC与JAVA数据库编程东软人才实训中心Copyright2008ByNeusoftGroup.Allrightsreserved3Sept.2008Confidential课程目标•培训目标:–具备使用Java连接到数据库的能力;–掌握用JDBC进行数据库应用程序的开发;–掌握用JDBC操作数据库的能力;3Sept.2008Confidential课程结构内容课时(H)第一章:JDBC的概念1第二章:JDBC基础应用2.5第三章:JDBC高级应用2.53Sept.2008Confidential第一章:JDBC的概念学时:1学时教学方法:讲授ppt目标:本章旨在向学员介绍JDBC的概念,通过本课的学习,学员应该掌握如下知识:1)了解JDBC的体系结构2)掌握java.sql包中常用的基本的JDBCAPI3Sept.2008Confidential1.1JDBC是什么DBMSJava数据库应用程序客户机DBMS独有的协议数据库服务器JDBC•JDBC(JavaDataBaseConnectivity)Java数据库连接,主要提供编写Java数据库应用程序的API支持。3Sept.2008Confidential1.1JDBC是什么•JDBC提供了执行SQL语句来操作关系数据库的手段。JDBC被设计成一个基于Java的面向对象应用编程接口以便于数据访问,并成为一个java开发人员和数据库厂商可以遵循的一个标准。•这个包的实现位于java.sql包中。它是类和接口的一个集合,而这些类和接口提供了存取多种数据库的一个统一API。•JDBC包的设计目的是成为执行SQL语句的接口,而不是用于数据存取的一个高级抽象层。•JDBC应用程序与正在使用中的数据库管理系统的具体特征得到了充分的隔离,因此设计人员不必为具体数据库而重新设计它。3Sept.2008Confidential1.1JDBC是什么•JDBC是用于执行SQL语句的Java应用程序接口,是一套API集合,在这个集合中设置了许多允许Java程序连接数据库的框架。JDBC由一组用java语言写成的类和接口组成,是一种连接不同数据库的规范,其宗旨是让各数据库开发商为java程序员提供标准的数据库访问类和接口。JDBC与Java结合,使用户可以很容易地把SQL语句传送到任何关系型数据库中,程序员用它编写的数据库应用程序,可以在各种数据库系统中运行。•因为java是跨平台的,所以JDBC也具有跨平台性。3Sept.2008Confidential1.2JDBC实现的功能•创建和管理与数据源的连接•发送SQL命令至数据源•提取并处理由数据源返回至应用程序的结果集3Sept.2008Confidential1.3JDBC体系结构图Java数据库应用程序JDBCAPIJDBCDriverInterface客户机DBMS独有的协议数据库服务器DBMS3Sept.2008Confidential1.3JDBC的体系结构•JDBC的结构可划分为两层:–JDBC驱动程序管理器接口:是底层的驱动程序层(JDBCDriverAPI),处理与具体驱动程序版本的所有通信。–JDBCAPI:一个是面向程序开发人员的应用程序层,开发人员用API通过SQL调用数据库和取得结果。3Sept.2008Confidential1.4数据库驱动程序目前的JDBC驱动程序有可以分为以下四大类:(1)JDBC-ODBCBridgeDriver,将JDBC首先翻译为ODBC,然后使用ODBC驱动程序和数据库通信。(2)NativeAPIDriver,由部分JAVA程序和部分本地代码组成,利用开发商提供的本地库函数来直接与数据库通讯。(3)JDBC-NetDriver,纯java程序,它使用一种与具体数据库无关的协议将数据库请求发送给一个中间服务器。(4)NativeProtocolDriver,纯java的驱动程序,直接与特定的数据库系统通信。直接将jdbc命令转换为数据库系统的本地协议。通常开发中多采用第四种方式,他的使用更加的直接和简便。3Sept.2008Confidential1.4数据库驱动程序JDBC-ODBCBridgeDriver适用于快速的原型系统,没有提供jdbc驱动的数据库,如access3Sept.2008Confidential1.4数据库驱动程序NativeAPIDriver利用开发商提供的本地库来直接与数据库通信,比type1性能略好。3Sept.2008Confidential1.4数据库驱动程序JDBC-NetDriver具有最大的灵活性,通常由那些非数据库厂商提供,是四种类型中最小的。3Sept.2008Confidential1.4数据库驱动程序NativeAPIbased最高的性能,通过自己的本地协议直接与数据库引擎通信,具备在internet装配的能力。3Sept.2008Confidential1.5JDBC优缺点优点:(1)JDBCAPI与ODBC(OpenDataBaseConnectivity)十分相似,有利于用户理解。(2)JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。(3)JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。(4)JDBCAPI是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。缺点:(1)使用JDBC,访问数据记录的速度会受到一定程度的影响。(2)JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。3Sept.2008Confidential1.6JDBC版本JDBC1.x•最初的java连接规范•作为一个内插式附件来发布的,不久就被继承到了标准的JDK中•提供了基本的数据存储架构、,由一些核心接口组成,包括DriverManager,Connection,Statement,ResultSet.3Sept.2008Confidential1.6JDBC版本JDBC2.0•新特性:可滚动结果集、可更新结果集、批量更新、性能调整。•CoreAPI:用java.sql包来实现,在1.0的基础上修改,因而性能更好;可以存取任何可能的数据源。•OptionalPackageAPI:用javax.sql包来实现,增加了企业级应用程序特别需要需要的功能,包括数据源、JNDI、连接池、行集、分布式事务处理。3Sept.2008Confidential1.6JDBC版本JDBC3.0:•在JDBC2开发的过程中,SQL99还处在一种变化不定的情况下。现在规范已经完成了,而且数据库厂商已经采用了部分标准。所以自然地,JDBC规范就跟着将自己与SQL99功能的一部分相统一。最新的JDBC规范已经采用了SQL99标准中那些已经被广泛支持的功能,还有那些在五年内可能会获得支持的功能。•新增了一个保存点的概念,保存点可以用来标记一个事物的某些部分,以便该事物能够回退到一个给定点。•新增了控制连接池的更多配置参数。•提供了一个迁移路径以便数据库开发商能把他们的JDBC产品朝着javaconnection体系结构迁移。3Sept.2008Confidential1.7java.sql包•java.sql包中定义的常用的基本的JDBCAPI:–类DriverManager-管理一组JDBC驱动程序的基本服务,并支持创建新的数据库连接。–接口Connection-获得与特定数据库的连接–接口Statement-用于执行SQL语句并返回它所生成结果的对象–接口ResultSet-表示数据库结果集的数据表,通常通过执行查询数据库的语句生成–类SQLException-有关数据库操作的异常3Sept.2008Confidential1.8小结•JDBC体系结构•JDBCAPI:–DriverManager–Connection–Statement–ResultSet–SQLException3Sept.2008Confidential1.9术语缩语、术语英文全称解释JDBCJavaDataBaseConnectivityJava数据库连接SQLStructureQueryLanguage结构化查询语言APIApplicationProgramInterface应用程序接口DBMSDatabaseManageSystem数据库管理系统3Sept.2008Confidential第二章:JDBC基础应用学时:2.5学时教学方法:讲授ppt+演示+上机练习目标:本章旨在向学员介绍JDBC的基础应用,通过本课的学习,学员应该掌握如下知识:1)掌握JDBC应用程序的基本步骤的编码3Sept.2008Confidential2.1创建JDBC应用程序的步骤•编写JDBC应用程序的基本步骤:–导入JDBC类或包括JDBC类的包–加载JDBC驱动程序–建立与数据库的连接–创建Statement–执行SQL语句,与数据库交互–处理结果–关闭连接3Sept.2008Confidential2.2数据库驱动程序•各数据库厂商均提供对JDBC的支持,即提供数据库连接使用的驱动程序文件•需要为数据库应用程序正确加载驱动程序文件以获得数据库连接,实施操作•Oracle数据库的JDBC驱动程序文件“classes12.jar”保存在oracle数据库安装主目录“.\oracle\ora92”下的“jdbc\lib”子目录下。或者“.\oracle\product\10.2.0\db_1”下的“jdbc\lib”子目录下。3Sept.2008Confidential2.3编程练习(1)•在Eclipse下创建工程JdbcOracleTest及同名主类,为该工程配置新的类库文件指向classe12.jar。•时间:5分钟3Sept.2008Confidential2.4加载JDBC驱动程序•Class类中提供加载驱动程序的方法:className-表示类的描述符的字符串•Oracle驱动的类描述符为:publicstaticClassforName(StringclassName)throwsClassNotFoundExceptionoracle.jdbc.driver.OracleDriver3Sept.2008Confidential2.5编程练习(2)•在工程主类JdbcOracleTest的main方法中增加加载Oracle驱动的代码:–声明表示Oracle驱动类描述符的字符串变量driver–调用Class类的静态方法forName加载该驱动(注意异常处理)•时间:5分钟3Sept.2008Confidential2.6建立与数据库的连接•DriverManager类提供getConnection方法可获得指定数据库的连接对象:•Oracle数据库的url格式为:publicstaticConnectiongetConnection(Stringurl,StringuserName,Stringpassword)throwsSQLExceptionjdbc:oracle:thin:@主机名或IP:1521:数据库名3Sept.2008Confidential2.7编程练习(3)•修改类JdbcOracleTest的main方法:–声明表示指定数据库url的字符串变量url–分别声明表示用户名和口令的字符串变量userName和password,分别初始化为SCOTT和TIGER“–声明Connection接口对象con,赋值为DriverManager类的getConnection方法的返回值–输出打印数据库连接成功的提示信息•时间:10分钟3Sept.2008Confidential2.8获得Statement对象•Connection类中提供可获得Statement对象的方法:•可调用重载的createStatement方法,可指定参数,设置数据库操
本文标题:JDBC与Java数据库编程
链接地址:https://www.777doc.com/doc-5503333 .html