Java-Web应用开发技术与案例教程-教学课件-张继军-第4章JDBC数据库访问技术.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java-Web应用开发技术与案例教程-教学课件-张继军-第4章JDBC数据库访问技术.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web 应用 开发 技术 案例 教程 教学 课件 张继军 JDBC 数据库 访问
- 资源描述:
-
1、在线教务辅导网:在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:或者直接输入下面地址:http:/第第4章章 JDBC数据库访问技术数据库访问技术 数据库是Web应用程序重要组成部分,在Java Web应用程序中,数据库访问是通过Java数据库连接(Java DataBase Connectivity,简称JDBC)实现的。JDBC为开发人员提供了一个标准的API。本章介绍使用JDBC驱动程序连接数据库和使用连接池技术连接数据库并设计应用程序的方法、步骤和实例。第第4章章 JDBC数
2、据库访问技术数据库访问技术4.1 JDBC技术概述技术概述4.2 JDBC访问数据库访问数据库4.3 综合案例综合案例学生身体体质信息管理系统的开发学生身体体质信息管理系统的开发4.4 数据源与连接池技术数据源与连接池技术本章小结本章小结4.1 JDBC技术概述技术概述 JDBC是一种用于执行SQL语句的Java API,由一组类与接口组成,通过调用这些类和接口所提供的方法,可以使用标准的SQL语言来存取数据库中的数据。本节内容:4.1.1 驱动程序接口Driver4.1.2 驱动程序管理器DriverManager4.1.3 数据库连接接口Connection4.1.4 执行SQL语句接口S
3、tatement4.1.5 执行动态SQL语句接口PreparedStatement4.1.6 访问结果集接口ResultSet类或接口作用java.sql.DriverManager该类处理驱动程序的加载和建立新数据库连接java.sql.Connection该接口实现对特定数据库的连接java.sql.Satement该接口表示用于执行静态SQL语句并返回它所生成结果的对象java.sql.PreparedStatement该接口表示预编译的SQL语句的对象,派生自Satement,预编译SQL效率高且支持参数查询java.sql.CallableStatement该接口表示用于执行SQL
4、语句存储过程的对象。派生自PreparedStatement,用于调用数据库中的存储过程java.sql.ResultSet该接口表示数据库结果集的数据表,统称通过执行查询数据库的语句生成4.1.1 驱动程序接口Driver 每种数据库都提供了数据库驱动程序,并且都提供了一个实现java.sql.Driver接口的类,简称Driver类。在应用程序开发中,需要通过java.lang.Class类的静态方法forName(String className),加载该Driver类。在加载时,创建自己的实例并向java.sql.DriverManager类注册该实例。4.1.2 驱动程序管理器驱动程
5、序管理器DriverManager java.sql.DriverManager类负责管理JDBC驱动程序的基本服务,是JDBC的管理层,作用于用户和驱动程序之间,负责跟踪可用的驱动程序,并在数据库和驱动程序之间建立连接。DriverManager类即可用来建立数据库连接。DriverManager类提供的最常用的方法是:Connection getConnection(String url,String user,String password)该方法为静态方法,用来获得数据库连接,有3个入口参数,依次为要连接数据库的URL、用户名和密码,返回值类型为java.sql.Connection4
6、.1.3 数据库连接接口数据库连接接口Connection java.sql.Connection接口负责与特定数据库的连接,形成连接对象。由该对象完成相关的操作。方法名称功能描述createStatement()创建并返回一个Statement实例,通常在执行无参数的SQL语句时创建该实例prepareStatement()创建并返回一个PreparedStatement实例,通常在执行包含参数的SQL语句时创建该实例,并对SQL语句进行了预编译处理close()立即释放Connection实例占用的数据库和JDBC资源,即关闭数据库连接表4-2 Connection接口的常用方法4.1.4
7、 执行执行SQL语句接口语句接口Statement java.sql.Statement接口用来执行静态的SQL语句,并返回执行结果。Statement接口提供的常用方法。方法名称功能描述executeQuery(String sql)执行指定的静态SELECT语句,并返回一个永远不能为null的ResultSet实例executeUpdate(String sql)执行指定的静态INSERT、UPDATE或DELETE语句,并返回一个int型数值,为同步更新记录的条数close()立即释放Statement实例占用的数据库和JDBC资源,即关闭Statement实例4.1.5 执行动态SQL
8、语句接口 PreparedStatement java.sql.PreparedStatement接口继承于Statement接口,是Statement接口的扩展,用来执行动态的SQL语句,即包含参数的SQL语句。PreparedStatement接口提供的常用方法。方法名称功能描述executeQuery()执行前面包含参数的动态SELECT语句,并返回一个永远不能为null的ResultSet实例executeUpdate()执行前面包含参数的动态INSERT、UPDATE或DELETE语句,并返回一个int型数值,为同步更新记录的条数setXxx()为指定参数设置Xxx型值close()
9、立即释放Statement实例占用的数据库和JDBC资源,即关闭Statement实例4.1.6 访问结果集接口访问结果集接口ResultSet 通过该接口的实例可以获得检索结果集,以及对应数据表的相关信息。ResultSet实例是通过执行查询数据库的语句生成。ResultSet接口提供的常用方法。方法名称功能描述first()移动指针到第一行;如果结果集为空则返回false,否则返回true;如果结果集类型为TYPE_FORWARD_ONLY将抛出异常last()移动指针到最后一行;如果结果集为空则返回false,否则返回true;如果结果集类型为TYPE_FORWARD_ONLY将抛出异常
10、previous()移动指针到上一行;如果存在上一行则返回true,否则返回false;如果结果集类型为TYPE_FORWARD_ONLY将抛出异常next()移动指针到下一行;指针最初位于第一行之前,第一次调用该方法将移动到第一行;如果存在下一行则返回true,否则返回falsegetRow()查看当前行的索引编号;索引编号从1开始,如果位于有效记录行上则返回一个int型索引编号,否则返回0findColumn()查看指定列名的索引编号;该方法有一个String型入口参数,为要查看列的名称,如果包含指定列,则返回int型索引编号,否则将抛出异常close()释放ResultSet实例占用的数
11、据库和JDBC资源,当关闭所属的Statement实例时也将执行此操作4.2 JDBC访问数据库使用使用JDBC访问数据库,其访问流程是:访问数据库,其访问流程是:(1)注册驱动。)注册驱动。(2)建立连接)建立连接(Connection)。(3)创建数据库操作对象用于执行)创建数据库操作对象用于执行SQL的语句。的语句。(4)执行语句。)执行语句。(5)处理执行结果)处理执行结果(ResultSet)。(6)释放资源。)释放资源。本节内容:本节内容:4.2.1 注册驱动注册驱动MySQL的驱动程序的驱动程序4.2.2 JDBC连接数据库创建连接对象连接数据库创建连接对象4.2.3 创建数据库
12、的操作对象创建数据库的操作对象4.2.4 执行执行SQL4.2.5 获得查询结果并进行处理获得查询结果并进行处理4.2.6 释放资源释放资源4.2.7 数据库乱码解决方案数据库乱码解决方案4.2.1 注册驱动MySQL的驱动程序1将驱动程序文件添加到应用项目将驱动程序文件添加到应用项目 将驱动程序将驱动程序mysql-connector-java-5.1.6-bin,拷贝到,拷贝到Web应用程序的应用程序的WEB-INFlib目录下,目录下,Web应用程序就可以通过应用程序就可以通过JDBC接口访问接口访问MySQL数据库了。数据库了。2加载注册指定的数据库驱动程序加载注册指定的数据库驱动程序
13、 对于对于MySQL数据库,其驱动程序加载格式:数据库,其驱动程序加载格式:Class.forName(com.mysql.jdbc.Driver);其中,其中,“com.mysql.jdbc.Driver”为为MySQL数据库驱动程数据库驱动程序类名。序类名。4.2.2 JDBC连接数据库创建连接对象 创建数据库连接对象,需要首先形成创建数据库连接对象,需要首先形成“连接符号字连接符号字(URL)”,然后利用,然后利用“连接符号字连接符号字”实现连接并创建连接对象。实现连接并创建连接对象。1数据库连接的数据库连接的URL 对于对于MySQL数据库的连接符号字,可采用如下方式数据库的连接符号字
14、,可采用如下方式创建:创建:String url1=jdbc:mysql:/数据库服务器数据库服务器IP:3306/数据库名数据库名;String url2=?user=root&password=密码密码;String url3=&useUnicode=true&characterEncoding=UTF-8;String url=url1+url2+url3;2利用连接符号字实现连接,获取连接对象利用连接符号字实现连接,获取连接对象 DriverManager类提供了类提供了getConnection方法,用来建立与方法,用来建立与数据库的连接。调用数据库的连接。调用getConnecti
15、on()方法可返回一个数据库连方法可返回一个数据库连接对象。接对象。getConnection方法有方法有3种不同的重载形式:种不同的重载形式:第第1种:通过种:通过url指定的数据库建立连接,其语法原型为:指定的数据库建立连接,其语法原型为:static Connection getConnection(String url)第第2种:通过种:通过url指定的数据库建立连接,指定的数据库建立连接,info提供了一些属性,提供了一些属性,这些属性里包括了这些属性里包括了user和和password等属性,其语法原型为:等属性,其语法原型为:static Connection getConnec
16、tion(String url,Properties info);第第3种:传入参数用户名为种:传入参数用户名为user,密码为,密码为password,通过,通过url指指定的数据库建立连接,其语法原型为:定的数据库建立连接,其语法原型为:static Connection getConnection(String url,String user,String password):3.利用利用JDBC连接连接MySQL数据库,获取连接对象的通用格数据库,获取连接对象的通用格式式 设设MySQL数据库为:数据库为:“students”,用户名为,用户名为“root”,密码为,密码为“12345
17、6”,数据库读写的编码采用,数据库读写的编码采用UTF-8,连接格式:,连接格式:String driverName=com.mysql.jdbc.Driver;/驱动程序名驱动程序名String userName=root;/数据库用户名数据库用户名String userPwd=123456;/密码密码String dbName=students;/数据库名数据库名String url1=jdbc:mysql:/localhost:3306/+dbName;String url2=?user=+userName+&password=+userPwd;String url3=&useUnico
展开阅读全文