第03章 JDBC:数据库连接.ppt_第1页
第03章 JDBC:数据库连接.ppt_第2页
第03章 JDBC:数据库连接.ppt_第3页
第03章 JDBC:数据库连接.ppt_第4页
第03章 JDBC:数据库连接.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章JDBC Java数据库连接 主要内容 JDBC概述JDBC主要接口通过案例介绍数据库应用开发的过程数据库连接池的配置和使用 14 3 1JDBC概述 什么是JDBCJDBC JavaDatabaseConnectivity 是实现Java程序与数据库系统互连的标准API 它允许发送SQL语句给数据库 并处理执行结果 Java程序与数据库的连接方式主要有如下4种 3 1JDBC概述 JDBC驱动程序类型1 JDBC ODBC桥 通过ODBC数据源实现与数据库的连接 如图3 1 P23 所示 这种方法使用简单方便 但性能较低 类型2 通过本地网络库与数据库进行连接的纯Java驱动程序 如图3 2 P23 所示 这种方法不需中间ODBC层 因而性能优于前者 类型3 通过中间件服务器与数据库建立连接的驱动程序 如图3 3 P24 所示 这种方法客户机不需安装网络库 借助中间件服务器 如WebLogicServer 建立与数据库的连接 类型4 直接与数据库相连的纯Java驱动程序 如图3 4 P24 所示 这种方法使用数据库厂商提供的专用Java驱动程序 一对一 效率高 3 2常用JDBC接口 JDBC相关接口 类存放于2个包中 java sql和javax sql常用的JDBC接口 类主要有 java sql Driver 是驱动程序必须实现的接口 它提供连接数据库的基本方法 java sql DriverManager 管理JDBC驱动程序 提供获取连接对象的方法 建立与数据库的连接 java sql Connection 用于Java应用程序与数据库建立通信的对象 通过它进而创建Statement对象 执行SQL语句 java sql Statement 是对SQL语句进行封装的特定对象 通过它执行了SQL语句进行数据库操作 java sql ResultSet 用于封装SQL语句查询的结果 是一个包含数据库记录的特殊对象 3 3数据库应用开发的基本过程 Java代码与数据库服务器之间的通信连接通过有2种方式 直接连接和池连接 直接连接是在Java代码中打开和维护数据库连接 适合于类型1 2 4的JDBC驱动程序 本节首先介绍直接连接的完整数据库开发步骤 建立数据源根据需要安装数据库系统并创建数据库 装载驱动程序装载JDBC ODBC桥 Class forName sun jdbc odbc JdbcOdbcDriver 装载JDBC类 如JDBC驱动程序类为jdbc DriverName 则 Class forName jdbc DriverName 3 3数据库应用开发过程 建立连接建立驱动程序与数据库的连接 语法如下 Connectioncon DriverManager getConnection url Login password 对于JDBC ODBC桥连接 url可写成jdbc odbc datasourceName Login是登录数据库的用户名 password是登录密码 如 Connectionmydbcon DriverManager getConnection jdbc odbc mydb sa admin 对于使用数据库系统自带的JDBC驱动程序 则需查阅其相关文档得知其驱动程序的名字 并使用特定格式的url字串 以下是常用数据库系统的驱动程序名及url格式 Oracle Driver oracle jdbc driver OracleDriverUrl jdbc oracle thin hostname 1521 dbname Sybase Driver com sybase jdbc2 jdbc SybDriverUrl jdbc sybase Tds hostname 2638 ServiceName dbnameSQLServer Driver com microsoft jdbc sqldriver SQLServerDriverUrl jdbc microsoft sqlserver hostname 1433 DatabaseName dbnameMySQL Driver org git mm mysql Driver com mysql jdbc DriverUrl jdbc mysql hostname 3306 dbnameDB2 Driver com ibm db2 jdbc app DB2DriverUrl jdbc db2 hostname 50002 dbname 3 3数据库应用开发过程 建立语句对象用于向数据库系统发送SQL语句Statementstmt conn createStatement 执行SQL语句有查询和更新2种类型查询使用select语句 使用语句对象的executeQuery 方法执行 返回结果集对象ResultSet更新包括insert update delete三种语句 使用语句对象的executeUpdate 方法执行 不返回结果集 返回影响记录的个数 以下是一个更新记录的语句示例 Stringsqls updatestudentsetage age 1 stmt executeUpdate sqls 3 3数据库应用开发过程 查询结果处理ResultSet对象提供了很多方法用于处理查询返回的结果 以下是几个常用方法 next 将记录指针 游标 指向当前记录的下一个记录 返回值为boolean型 若返回false则表示此后已无记录 beforeFirst 将游标指向结果集的第一个记录的前面 last 将游标指向结果集的最后一个记录 getString arg getInt arg getDouble arg 获取当前记录指定列的值 参数为整数时指定列号 为字符串时指定列名 注意 通过带参数创建语句对象可以指定游标移动的方式以及并发控制方式 3 3数据库应用开发过程 获取元数据元数据指的是描述数据的数据 这里主要是记录集的结构信息 以下是一个简单示例 ResultSetMetaDatarsmd rs getMetaData 建立元数据对象intcolcount rsmd getColumnCount 获取结果集的列数for inti 1 i colcount i 循环获取并输出各列的名称及类型 out print rsmd getColumnName i out println t rsmd getColumnTypeName i 3 3数据库应用开发过程 关闭对象关闭对象使用close 方法 并且按照ResultSet Statement Connection的顺序依次关闭所使用的对象 关闭前最好先检查对象是否为null 不然将产生异常 以下是相关代码示例 try Connectionconn DriverManager getConnection url user pass Statementstmt con createStatement Stringsqls select fromstudent ResultSetrs stmt executeQuery sqls 数据处理过程略 if rs null rs close if stmt null stmt close if conn null conn close catch SQLExceptione System out println e toString 3 3数据库应用开发过程 处理异常和警告数据库应用相关的异常类主要有2个 装载驱动时发生异常的处理类是ClassNotFoundException 数据库操作时发生异常的处理类是SQLExeption 例如 try Class forName driver catch ClassNotFoundExceptione1 System out println 数据库驱动不存在 System out println e1 toString catch SQLExceptione2 System out println 数据库异常 System out println e2 toString 3 4实例 建立一个学生表student 包括三个属性 学号 姓名和年龄 其创建语句如下 createtablestudent idvarchar 10 primarykey namevarchar 20 ageint 实现的功能 向表student中插入一条记录id 000099988 name zhhdhh age 45输出显示所有的记录 实现方式 纯Java驱动JDBC ODBC桥准备实例采用MySQL数据库 编程之前建立一个数据库test 并在其中创建表student 3 4实例 纯Java驱动方式源码参见JDBCDemo java P28 29 JDBC ODBC桥方式只须将上例代码中的驱动程序参数driver和连接参数url修改即可 Stringdriver sun jdbc odbc JdbcOdbcDriver Stringurl jdbc odbc test 3 5数据库连接池 前面介绍的数据库应用程序 基本遵循这样一个设计模式 建立连接 操作数据库 断开连接 这种模式在访问量巨大 很多客户端 时就会出现连接 执行 释放 再连接 再执行 再释放 一直循环这个过程 势必导致数据库服务器的巨大开销 一旦某个连接没有正常关闭 还会导致数据库系统的安全问题 如果让所有的用户共享一个连接 使整个访问过程只需要创建一次连接 最后释放一次连接 这势必可以节省很多系统的时间 加快对用户的响应速度 这正是连接池技术的初衷 连接池的基本工作原理在服务器内存 连接池 中创建一些备用连接 应用程序需要访问数据库时 从连接池中获取连接 用完之后再放回 并由服务器统一管理连接的创建和释放 当访问量非常大时 为了提高效率可创建较多的连接 当访问量比较少时 为了节约资源则可减少连接的数量 实现动态调节 连接的创建仍然需要相关信息 数据库驱动程序 URL 用户名和口令 下面以WebLogic9 2为例介绍连接池的配置和使用 配置数据源选择WebLogic服务管理器左窗格 Services JDBC DataSources 打开数据源管理界面 如图3 5P30 点击进入数据源基本参数设置页面 如图3 6P31 点击进入数据源事务选项设置页面 如图3 7P31 点击进入数据库连接参数设置页面 如图3 8P32 点击进入验证数据库连接页面 如图3 9 3 11P32 33 测试成功后 即可将配置加入到目标服务器中 如图3 12P33 一切完成后 在管理器左窗格的JINI树中就可看到刚建好的数据源名字 连接池应用实例PoolDemo java通过Servlet访问连接池PoolServlet java通过JSP访问连接池Pool jsp批处理BatchPoolDemo java 3 5数据库连接池 批量数据更新一般方法 Statementstmt myConn createStatement stmt addBatch insertintostudentvalues 001 Maly 17 stmt addBatch insertintostudentvalues 002 Ohoi 20 stmt executeBatch 宏语句方法 PreparedStatementpstmt myConn prepareStatement inse

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论