Java-Web应用开发技术与案例教程课件第4章第3次课2.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java-Web应用开发技术与案例教程课件第4章第3次课2.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java_Web 应用 开发 技术 案例 教程 课件
- 资源描述:
-
1、 第第4章章 JDBC数据库访问技术数据库访问技术_第第3次课次课教学内容:教学内容:综合案例开发综合案例开发学生身体体质信息管理系统的开发学生身体体质信息管理系统的开发首先回顾上次课程内容:首先回顾上次课程内容:1、利用、利用Java实现对实现对MySQL数据库访问,需要搭建支持环境。数据库访问,需要搭建支持环境。(安装(安装MySQL数据库、安装可视化操作客户端、下载数据库、安装可视化操作客户端、下载java与与MySQL之间的连接驱动包)之间的连接驱动包)2、使用、使用JDBC访问数据库,其访问流程是:访问数据库,其访问流程是:(1)注册驱动(加载驱动程序):)注册驱动(加载驱动程序):
2、Class.forName(“com.mysql.jdbc.Driver”);(2)建立连接)建立连接(Connection):Connection conn=DriverManager.getConnection(url);/创建连接对象创建连接对象 注意:注意:url如何形成?如何形成?URL连接字格式一定要正确,否则会出现连接数据库错误!连接字格式一定要正确,否则会出现连接数据库错误!(3)创建数据库操作对象用于执行)创建数据库操作对象用于执行SQL的语句:的语句:PreparedStatement pstmt=conn.prepareStatement(sql);(4)执行语句(分两种
3、类型:查询和更新操作)。)执行语句(分两种类型:查询和更新操作)。ResultSet rs=pstmt.executeQuery();/执行,得到查询结果集合执行,得到查询结果集合,注意,这里是空参数注意,这里是空参数 或或 int n=pstmt.executeUpdate();/执行,返回实际删除记录的条数,执行,返回实际删除记录的条数,(5)对于查询要处理执行结果)对于查询要处理执行结果(ResultSet)。(6)释放资源。)释放资源。类或接口类或接口作用作用java.sql.DriverManager该类该类处理驱动程序的加载处理驱动程序的加载和和建立新数据库连接建立新数据库连接ja
4、va.sql.Connection该接口该接口实现对特定数据库的连接实现对特定数据库的连接java.sql.Satement该接口表示该接口表示用于执行静态用于执行静态SQL语句语句并返回它所生成结果的对象并返回它所生成结果的对象java.sql.PreparedStatement该接口表示该接口表示预编译的预编译的SQL语句的对象语句的对象,派生自,派生自Satement,预编译预编译SQL效率高且支持参数查询效率高且支持参数查询java.sql.CallableStatement该接口表示用于该接口表示用于执行执行SQL语句存储过程的对象语句存储过程的对象。派生自派生自PreparedSt
5、atement,用于调用数据库中的存储过程用于调用数据库中的存储过程java.sql.ResultSet该接口表示该接口表示数据库结果集的数据表数据库结果集的数据表,该数据表该数据表通过执行查询数据库的语句生成通过执行查询数据库的语句生成3、JDBC数据库访问所涉及到的类:数据库访问所涉及到的类:必须掌握每个类的常用方法与使用必须掌握每个类的常用方法与使用4、实现数据库访问最常见的两个错误、实现数据库访问最常见的两个错误必须认真检查这两处的格式必须认真检查这两处的格式:(1)创建连接对象的)创建连接对象的“连接字连接字字符串字符串”String userName=root;/数据库用户名数据库
6、用户名 String userPwd=123456;/密码密码 String dbName=students;/数据库名数据库名 String url1=jdbc:mysql:/localhost:3306/+dbName;String url2=?user=+userName+&password=+userPwd;String url3=&useUnicode=true&characterEncoding=UTF-8 /设置汉字编码格式设置汉字编码格式 String url=url1+url2+url3;/形成带数据库读写编码的数据库连接字形成带数据库读写编码的数据库连接字 Connecti
7、on conn=DriverManager.getConnection(url);url字符串格式错误,在执行字符串格式错误,在执行Connection conn=DriverManager.getConnection(url),就会,就会出现错误,请认真检查该字符串是否正确!出现错误,请认真检查该字符串是否正确!(2)SQL语句语句字符串,语句格式不正确字符串,语句格式不正确 对于对于SQL语句格式不正确,在执行语句格式不正确,在执行查询、查询、或者或者更新更新语句时语句时,会发生错误。,会发生错误。ResultSet rs=pstmt.executeQuery();/执行,得到查询结果集合
8、执行,得到查询结果集合 或或 int n=pstmt.executeUpdate();/执行,返回实际删除记录的条数执行,返回实际删除记录的条数,应用设计示例应用设计示例综合案例综合案例 学生身体体质信息管理系统的开发学生身体体质信息管理系统的开发【案例说明案例说明】描述一个学生身体体质的信息有:有描述一个学生身体体质的信息有:有id(序号,整型),(序号,整型),name(姓名,(姓名,字符串),字符串),sex(性别,字符串),(性别,字符串),age(年龄,整型),(年龄,整型),weight(体重,实型),(体重,实型),hight(身高,实型身高,实型)。存放学生体质信息的数据库为。
9、存放学生体质信息的数据库为students,数据表为,数据表为stu_info。要求,利用要求,利用JDBC技术实现对学生身体体质信息的管理。技术实现对学生身体体质信息的管理。该问题是一个简单的数据库信息管理系统,基本操作主要有:该问题是一个简单的数据库信息管理系统,基本操作主要有:n 数据库和数据表的建立;数据库和数据表的建立;n 数据库记录信息的添加(插入);数据库记录信息的添加(插入);n 数据库记录信息的查询;数据库记录信息的查询;n 数据库记录信息的删除;数据库记录信息的删除;n 数据库记录信息的修改。数据库记录信息的修改。n 整合各设计模块形成完整的应用系统整合各设计模块形成完整的
10、应用系统n 问题与思考以及系统的改进问题与思考以及系统的改进提示:注意我给出的设计方案,以及提示:注意我给出的设计方案,以及逐步修改完善程序的思想。逐步修改完善程序的思想。对于该案例,采用有底向上的设计方式,逐对于该案例,采用有底向上的设计方式,逐步构造系统,并且在构造系统的每步中,对出步构造系统,并且在构造系统的每步中,对出现的各种问题进行分析并给出不同的解决方案现的各种问题进行分析并给出不同的解决方案,目的是逐步理解和掌握设计思想和设计过程,目的是逐步理解和掌握设计思想和设计过程。1、数据库和数据表的建立、数据库和数据表的建立 该系统需要创建一个数据库以及该库中的一个数据表在该系统需要创建
11、一个数据库以及该库中的一个数据表在MySQL中创建一个数据库:中创建一个数据库:students,并在数据库,并在数据库students中创建表中创建表students_info。字段中文描述数据类型是否为空id学生学号int否name学生名字Varchar(20)是sex性别Varchar(4)是age年龄int是weight体重float是hight身高float是数据库和数据表的建立代码(可以利用(可以利用MySQL的可视化图形客户端实现)的可视化图形客户端实现)2、添加记录模块的设计与实现、添加记录模块的设计与实现【例例4-1】利用利用PreparedStatement实现数据库中插入
12、一条记录。实现数据库中插入一条记录。【分析分析】其处理步骤:其处理步骤:(1)建立数据库的连接。)建立数据库的连接。(2)形成)形成SQL语句(可以带参数,也可以不带参数)。语句(可以带参数,也可以不带参数)。(3)利用连接对象建立)利用连接对象建立PreparedStatement对象。对象。(4)若是带参数的)若是带参数的SQL执行语句,则需要对各参数设置相应的参数值。执行语句,则需要对各参数设置相应的参数值。(5)调用)调用PreparedStatement对象,执行对象,执行executeUpdate()方法。方法。(6)根据)根据executeUpdate()方法返回的整数,判定是否
13、执行成功,如果大于方法返回的整数,判定是否执行成功,如果大于0表示成功,否则表示成功,否则执行失败。执行失败。(7)关闭所有资源。)关闭所有资源。注意:注意:采用采用PreparedStatement类实现,可以避免一些数据类型的错误,并可以提高处理效率类实现,可以避免一些数据类型的错误,并可以提高处理效率,在我们以后的程序设计中,一般都使用这种方式。,在我们以后的程序设计中,一般都使用这种方式。问题:若插入任意信息的记录如何实现呢?问题:若插入任意信息的记录如何实现呢?解决方案解决方案添加提交数据页面添加提交数据页面【设计与实现设计与实现】源代码源代码 【运行运行】程序运行程序运行【例例4-
14、2】利用提交页面提交要添加的学生信息。然后进入添加处理程序实现将信息添加到数利用提交页面提交要添加的学生信息。然后进入添加处理程序实现将信息添加到数据库。据库。【分析分析】需要两个需要两个JSP程序:程序:insert_stu_2_tijiao.jsp将提交信息存放到将提交信息存放到request对象中,而程序对象中,而程序insert_stu_2.jsp从从request对象中获取数据,形成插入记录的对象中获取数据,形成插入记录的SQL语句,并实现插入。语句,并实现插入。request对象insert_stu_2.jspinsert_stu_2_tijiao.jsp【设计关键】【设计关键】(
15、1)其关键是实现这两个组件之间的数据共享,即,使用)其关键是实现这两个组件之间的数据共享,即,使用request对象对象存储存储id,name,sex,age,weight,hight等变量。等变量。(2)在添加处理页面,设置参数值时,必须注意各字段的数据类型,不同的类型采用不同的设)在添加处理页面,设置参数值时,必须注意各字段的数据类型,不同的类型采用不同的设置方法。置方法。【实现】(1)提交页面程序insert_stu_2_tijiao.jsp (2)插入记录程序insert_stu_2.jsp【运行】程序运行 进一步再改进进一步再改进添加记录模块的设计与实现添加记录模块的设计与实现思考:
展开阅读全文