版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Jsp语言与动态网页设计授课老师:林伟君
联系方式:教学实验中心811室第四章内容提要、课程结构
本课程系统地介绍了JSP应用开发体系与环境配置〔第一章〕JSP页面元素〔第二章〕JSP内置对象〔第三章〕JSP对数据库的操作〔第四章〕JSP对Bean的调用〔第五章〕第1章JSP应用开发体系与环境配置①软件编程体系②介绍JSP技术、优点、缺点和应用前景③介绍如何安装和配置JSP的运行环境第2章JSP页面元素①HTML根底知识、常用标记②介绍JSP页面结构③JSP的编译指令、操作指令和代码课程结构1第3章JSP页面元素①JSP常用六大根本对象第4章JSP对数据库的操作①SQL指令操作数据库、数据库的创立、备份等②JDBC访问数据库③介绍JSP页面对数据库的操作方法第5章JSP对Bean的调用①JavaBean组件程序设计课程结构2JSP应用开发体系与环境配置软件编程体系。JSP技术概述。JSP环境配置。学习目标软件编程体系了解什么是JSP技术熟悉JSP的优点、缺点了解JSP技术开展前景JSP安装配置数据库应用开发简介作为有效的数据存储和组织管理工具,数据库的应用日益广泛目前主流的数据库产品有Oracle、SQLServer、DB2和SyBase等多种。在数据库开发领域中,有三个方面需要掌握:SQL语言、ODBC数据访问接口和JDBC数据库访问接口。学习目标熟练掌握SQL常用的语句SQL语言概述SQL〔StructuredQueryLanguage〕是关系型数据库的标准语言,是由国际标准组织提出的,各种关系型数据库都支持SQL指令,Oracle在根本的SQL根底上进行了扩充。SQL语句有如下的两大特点〔1〕SQL是一种类似于英语的语言,很容易理解和书写。〔2〕SQL语言是非过程化的语言〔第四代语言〕。SQL集DDL〔DataDefinitionLanguage:数据定义语言〕,DML〔DataManipulationLanguage:数据操作语言〕和DCL〔DataControlLanguage:数据控制语言〕于一体。用SQL语言可以实现数据库生命周期的全部活动。SQL语句分类SQL分类描述数据定义语言(DDL)数据定义语言(DDL)用于定义、修改或者删除数据库对象,如CreateTable等数据查询语言(DQL)数据查询语句(DataQueryLanguage,DQL)用于对数据进行检索。如最常用的Select语句数据操纵语言(DML)数据操纵语言(DML)用于访问、建立或者操纵在数据库中已经存在数据,如Select、Insert、Update和Delete等等。事务控制语言(TCL)事务控制语言(TransactControlLanguage)管理DML语句所做的修改,是否保存修改或者放弃修改。如:Commit、Rollback、Savepoint、SetTransaction等命令。数据控制语言(DCL)数据控制语言(DCL)管理对数据库内对象的访问权限和授予和回收,如Grant、Revoke等等。根本SQL语句根本的SQL语句包括DQL和DML。也就是对数据库最常用的四大根本操作:查询〔Select〕、插入〔Insert〕、更新〔Update〕和删除〔Delete〕DQL的3种根本格式〔1〕1.根本句型一:〔最简单的SELECT语句〕SELECT字段名FROM数据表例1.SELECT*FROMgrade功能说明:将grade表中的所有字段取出来。例2.SELECTxhid,ynameFROMgrade功能说明:将grade表中xhid和yname字段取出来。例3.SELECTxhid,yname,english+mathsas总成绩FROMgrade功能说明:将grade表中的xhid和yname取出来,并将english、maths成绩相加产生虚拟列总成绩。DQL的3种根本格式〔2〕2.根本句型二:〔使用条件查询〕SELECT字段名FROM数据表WHERE筛选条件测试句型如下。例1.SELECT*FROMgradeWHEREmaths>60功能说明:把所有maths成绩大于60分的记录选出来。例2.SELECT*FROMgradeWHEREmaths=95orenglish=90功能说明:把maths成绩等于95分或者english成绩等于90分的人选出来。DQL的3种根本格式〔3〕3.根本句型三:〔进行排序〕SELECT字段名FROM数据表ORDERBY字段名测试句型如下。〔1〕SELECT*FROMgradeORDERBYmaths注:从低到高排序功能说明:从grade表中取出所有字段,并按maths成绩排序。〔2〕SELECT*FROMgradeORDERBYmaths,english功能说明:从grade表中取出所有字段,并按maths成绩排序,如果maths成绩相同那么按照english成绩排序。〔3〕SELECT*FROMgradeORDERBYmathsdesc注:从高到低排序功能说明:从grade表中取出所有字段,并按maths成绩倒序。〔4〕SELECTtop5*FROMgrade功能说明:从grade表中取出前五条记录的所有字段。DML的根本格式〔一〕〔1〕DELETE指令:删除数据记录。根本语法:DELETEFROM数据表WHERE条件例:DELETEfromgradeWHEREenglish=0功能说明:删除所有english成绩为零的记录,如果没有WHERE子句,那么删除所有记录。〔2〕UPDATE指令:更新数据记录。根本语法:UPDATE数据表SET字段值=新值WHERE条件例1:UPDATEgradeSETenglish=english+10说明:将grade表中所有人的english成绩加10分DML的根本格式〔二〕〔3〕INSERTINTO指令:添加数据记录。根本格式1:INSERTINTO数据表VALUES〔字段新值〕根本格式2:INSERTINTO数据表〔字段一,字段二,……〕VALUES〔字段新值〕其中关键字两种格式的区别是:当values含有数据库表所有字段的值,并且顺序和数据库字段一致时,就可以省略数据库表后面的字段名称。例1:INSERTINTOgrade(xhid,yname,english)VALUES(‘1234’,‘vim’,70)例2:INSERTINTOgradeVALUES('5678','gigi','女',80,90)功能说明:该语句等价于:INSERTINTOgrade(xhid,yname,xb,english,maths)VALUES('5678','gigi','女',80,90)聚合函数聚合函数在信息管理系统经常使用,功能是做一些根本的统计和计算。聚合函数有5个,分别是SUM函数、AVG函数、COUNT函数、MAX函数和MIN函数。聚合函数实例〔1〕SUN函数,功能是算出某个字段的总值。例.SELECTSUM(maths)AsTotalFROMgrade功能说明:求出所有学生maths成绩总和,这个数值的列名为Total。〔2〕AVG函数,功能是算出某个字段的平均值。例.SELECTAVG(maths)AsAverageFROMgrade功能说明:求出所有学生maths成绩平均分,这个数值的列名为Average。〔3〕COUNT函数,功能是算出返回记录的行数。例.SELECTCOUNT(*)AsCountsFROMgrade功能说明:求出满足条件的记录总数。〔4〕MAX函数,功能是算出某个字段的最大值。例.SELECTMAX(maths)AsFirstFROMgrade功能说明:求出所有学生maths成绩的最高分,这个数值的列名为First。〔5〕MIN函数,功能是算出某个字段的总值。例.SELECTMIN(maths)AsLastFROMgrade功能说明:求出所有学生maths成绩的最低分,这个数值的列名为Last。分组查询分组查询包括GROUPBY和HAVING关键字。比方计算某班男生女生的数学平均分,利用可以利用分组查询完成。可以使用“SELECTxb,AVG(maths)as平均分FROMgradeGROUPBYxb〞得到男生和女生的数学maths平均分,交叉查询考虑3个表:学生表〔Student〕、课程表〔Course〕和选课表〔SC〕表的关系如图其中:〔1〕学生表中的sno表示学生学号,sname表示学生姓名。〔2〕课程表中cno表示课程编号,cname表示课程的名称。〔3〕选课表中的sno表示学生学号,cno表示课程编号。查找选择课程为“软件工程〞的所有同学姓名?可以利用如下的SQL语句。SELECTb.snameFROMsca,studentb,coursecWHEREao=coANDa.sno=b.snoandcame='软件工程'其中“sca〞表示给表sc起个别名为a,同样“studentb〞是给student表起个别名b。该查询实现了三个表之间的交叉查询。对数据库的操作<一>本章介绍页面与数据库之间的通讯.根据需要,将页面数据保存到数据库中,或者将数据库中的数据展现在页面上,或者执行数据事务处理:数据查询和数据更新。学习目标理解数据源熟悉创立数据源的步骤理解JDBC-ODBC桥接器熟悉数据查询技术熟悉数据更新技术1数据源java应用程序与数据库的连接方式中本书中采用JDBC-ODBC方式连接数据库.这种连接方式分三个步骤:首先,创立一个数据源,其次,加载JDBC-ODBC驱动程序,第三步,建立一个到数据库的连接。数据源是对数据库的一种映射。我们可以把数据源理解为数据库本身,一个数据源对应一个数据库。本书以MicrosoftSQL2000数据库为例。假设已创立了数据库rr。假设采用的是windows2000操作系统,我们为该数据库创立数据源的步骤如下:1.在"管理工具"中选择"ODBC数据源",如图1所示。图1数据源ODBC2.双击“ODBC数据源〞图标,出现如图2所示界面。该图显示了“用户DSN"选项卡中的已有数据源的名称。图2显示已有user数据源3.选择“SystemDSN〞选项卡,单击“添加"按钮,增加新的数据源,如图3所示。此对话框,为新增加的数据源选择驱动程序。图3选择驱动程序4.因为要访问MicrosoftSQL数据库,选择“SQLServer"选项,单击"完成"按钮(为数据源选择了驱动程序),出现了设置数据源具体工程的对话框,如图4所示。图4配置数据源5.点击“下一步〞出现身份验证窗口。配置情况如图5所示。图5配置情况6.选择“更改默认的数据库为rr〞。在点击“下一步〞。图6配置完成7.在点击“完成〞。图7配置完成8.在点击“测试数据库〞。图8配置完成9.测试局面。图9配置完成2JDBC-ODBC桥接器JDBC-ODBC桥接器就是把应用程序与数据源连接起来的驱动程序。因此,创立了数据源以后,还要加载JDBC-ODBC桥接器,即加载驱动程序。下面是加载驱动程序的方式:try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){}
通过Class类的静态方法forName(Stringdriver)加载JDBC-ODBC桥接器。3数据库连接创立了数据源,加载了驱动程序,应用程序还是不能连接到数据库。应用程序要访问数据库,还必须创立一个到数据库的连接。即创立一个连接对象。下面是创立连接对象的静态方法:publicstaticConnectiongetConnection(Stringurl,Stringuser,Stringpassword)throwsSQLException假设数据源名是“mydate〞,用户登录系统的帐号是user/password。下面是获得连接对象的方法:
Connectionconn=DriverManager.getConnection(“jdbc:odbc:mydate〞,user,password);或者Connectionconn=DriverManager.getConnection(“jdbc:odbc:mydate〞);getConnection()方法是DriverManager类的一个静态方法。对于Access数据库连接,可以不要帐号参数就能建立连接对象。在程序的最后,应该关闭Connection对象:publicvoidclose()throwsSQLException4数据库事务处理一般来说,数据库事务处理分两种:一种是数据查询,第二种是数据更新。数据更新包括数据插入、修改和删除。Statement对象/Statement接口Statement对象用于将SQL语句发送到数据库中。Statement接口提供了两种执行SQL语句的常用方法:publicResultSetexecuteQuery(Stringsql)throwsSQLException用于产生单个ResultSet的语句,例如SELECT语句。publicintexecuteUpdate(Stringsql)throwsSQLException用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,例如CREATETABLE和DROPTABLE。该方法返回一个整数,指示受影响的行数。假设已经连接到某数据库,创立的连接对象是conn。那么数据查询和数据更新步骤如下。1.数据查询通过以下两个步骤,获得查询结果集rs。(1)创立语句对象Statementstmt=conn.createStatement(inttype,intconcurrency);(2)获得查询结果集Stringsql="select*fromtablenamewhereexpression";//SQL查询字符串ResultSetrs=stmt.executeQuery(sql);//获得结果集rs2.数据更新通过以下两个步骤,实现数据更新。(1).创立语句对象Statementstmt=conn.createStatement(inttype,intconcurrency);
(2).执行更新Stringsql="sqlStatement";//插入或修改或删除SQL字符串intnumber=stmt.executeUpdate(sql);//执行更新操作说明:在数据查询、数据更新事务中,一般采用无参的createStatement()方法创立语句对象。如果事务是随机查询、游动查询和用结果集更新数据库,那么应采用createStatement(inttype,intconcurrency)方法创立语句对象。下面是对该方法参数的说明。type的取值决定滚动方式,即结果集中的游标是否能上下滚动。取值如下:
ResultSet.TYPE_FORWORD_ONLY结果集的游标只能向下滚动。
ResultSet.TYPE_SCROLL_INSENSITIVE结果集的游标可以上下移动,当数据库变化时,当前结果集不变。
ResultSet.TYPE_SCROLL_SENSITIVE返回可滚动的结果集。当数据库变化时,当前结果集同步改变。
concurrency的取值决定是否能用结果集更新数据库。concurrency取值:
ResultSet.CONCUR_READ_ONLY不能用结果集更新数据库中的表。
ResultSet.CONCUR_UPDATABLE能用结果集更新数据库中的表。5ResultSet对象这种查询中,获得的结果集(ResultSet对象)中的游标只能一行行地向下移动。既不能向上移动游标,
也不能跳行移动游标。
ResultSet对象由假设干行组成。ResultSet对象一次只能看到一个数据行,使用next()方法,使游标移到下一行记录。ResultSet对象可以用字段索引(第一列是1,第二列是2等等)为参数,获得对应的字段值(记录中的数据项),如方法getXxx(intcolumnIndex);也可以用字段名为参数,获得对应的字段值(记录中的数据项),如方法getXxx(StringcolumnName)。ResultSet对象的常用方法如表7-1所示。表1ResultSet类的常用方法返回类型方法名称booleannext()bytegetByte(intcolumnIndex)DategetDate(intcolumnIndex)Doubleg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级数学上册第30课时销售问题和储蓄问题听评课记录新湘教版
- 湘教版数学八年级上册《1.1 分式》听评课记录
- 人教版历史七年级下册第1课《隋朝的统一与灭亡》听课评课记录
- 2022年新课标八年级上册道德与法治《7.1 关爱他人 》听课评课记录
- 生物技术创新合作开发合同(2篇)
- 理财委托合同(2篇)
- 人教版数学八年级下册20.1.1《平均数》听评课记录3
- 语文听评课记录九年级
- 人教版数学八年级上册《11.2.2三角形的外角》听评课记录1
- 数学七年级下学期《立方根》听评课记录
- 安全安全技术交底模板
- 房屋建筑工程投标方案(技术方案)
- 部编版一年级语文下册语文园地五《单元拓展-字族文》教学设计
- 静脉输液法操作并发症的预防及处理
- 牙外伤的远期并发症监测
- 2025年高考语文作文备考:议论文万能模板
- 重大事故隐患判定标准与相关事故案例培训课件(建筑)
- 《我的寒假生活》
- DZ/T 0430-2023 固体矿产资源储量核实报告编写规范(正式版)
- (高清版)WST 442-2024 临床实验室生物安全指南
- 历史时间轴全
评论
0/150
提交评论