JAVA-WEB开发实战经典P电子教案SQL标签库课件_第1页
JAVA-WEB开发实战经典P电子教案SQL标签库课件_第2页
JAVA-WEB开发实战经典P电子教案SQL标签库课件_第3页
JAVA-WEB开发实战经典P电子教案SQL标签库课件_第4页
JAVA-WEB开发实战经典P电子教案SQL标签库课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

JAVAWEB开发实战经典第13章:标准标签库(JSTL)

——SQL标签库李兴华北京魔乐科技软件学院JAVAWEB开发实战经典第13章:标准标签库(JSTL)本章目标可以使用JSTL中的SQL标签进行数据表的CRUD操作。本章目标可以使用JSTL中的SQL标签进行数据表的CRUD操SQL标签库No.功能分类标签名称描述1数据源标签<sql:setDataSource>设置要使用的数据源名称2数据库操作标签<sql:query>执行查询操作3<sql:update>执行更新操作4事务处理标签<sql:transaction>执行事务的处理操作,并设置操作的安全级别SQL标签库No.功能分类标签名称描述1数据源标签<sql<sql:setDataSource>进行SQL操作,可以通过<sql:setDateSource>来设定数据源(DataSource),语法如下:<sql:setDataSourcedataSource="数据源名称"[var="保存的属性名称"] [scope="[page|request|session|application]"]/><sql:setDataSourcedriver="数据库驱动程序"url="数据库连接地址" user="用户名"password="密码"[var="保存的属性名称"] [scope="[page|request|session|application]"]/><sql:setDataSource>进行SQL操作,可以<sql:setDataSource>标签的属性No.属性名称EL支持描述1dataSource√数据源名称2driver√JDBC数据库驱动程序3url√数据库连接的URL地址4user√数据库的用户名5password√数据库的密码6var×储存数据库连接的属性名称7scope×var属性的保存范围,默认为page<sql:setDataSource>标签的属性No.属性名使用配置好的数据源(jdbc/mldn)——datasource.jsp<%@tagliburi="/jstl/sql"prefix="sql"%><sql:setDataSourcedataSource="jdbc/mldn"var="mldnds"/>使用配置好的数据源(jdbc/mldn)——dataso数据库操作标签数据库的主要操作就是查询、更新及事务处理,所以在JSTL中分别提供了<sql:query>标签、<sql:update>、<sql:transaction>几个主要的操作标签。数据库操作标签数据库的主要操作就是查询、更新及事务处理,所<sql:query><sql:query>标签的主要功能是用于执行查询命令的,语法如下:<sql:querysql="SQL语句"var="保存查询结果的属性名称" [scope="[page|request|session|application]"] [dataSource="数据源的名称"]maxRows="最多显示的记录数"startRow="记录的开始行数"/><sql:queryvar="保存查询结果的属性名称" [scope="[page|request|session|application]"] [dataSource="数据源的名称"]maxRows="最多显示的记录数"startRow="记录的开始行数"> SQL查询语句 </sql:query><sql:query><sql:query>标签的主要功能<sql:query>标签的属性No.属性名称EL支持描述1sql√编写要执行的查询语句2dataSource√本查询要使用的数据源名称3maxRows√最多可以显示的数据记录数4startRow√数据的开始行数,默认在第0行5var×保存查询结果6scope×var变量的保存范围,默认是page范围<sql:query>标签的属性No.属性名称EL支持描述使用<sql:query>标签查询emp表——query_emp.jsp

<sql:setDataSourcedataSource="java:comp/env/jdbc/mldn"var="mldnds"/>

<sql:queryvar="result"> SELECTempno,ename,job,hiredate,salFROMemp;

</sql:query>使用<sql:query>标签查询emp表——query查询结果的五个属性No.属性名称描述1rows根据字段名称取出列的内容2rowsByIndex根据字段索引取出列的内容3columnNames取得字段的名称4rowCount取得全部的记录数5limitedByMaxRows取出最大的数据长度查询结果的五个属性No.属性名称描述1rows根据字段名称输出全部的内容——query_emp_show.jsp<%@pagecontentType="text/html"pageEncoding="GBK"%><%@tagliburi="/jstl/core"prefix="c"%><%@tagliburi="/jstl/sql"prefix="sql"%><html><head><title>,MLDN高端Java培训</title></head><body>

<sql:setDataSourcedataSource="jdbc/mldn"var="mldnds"/>

<sql:queryvar="result"dataSource="${mldnds}"> SELECTempno,ename,job,hiredate,salFROMemp;

</sql:query>

<h3>一共有${result.rowCount}条记录!</h3>

<tableborder="1"width="100%">

<!--输出表格,边框为1,宽度为页面的80%-->

<tr>

<!--输出表格的行显示-->

<td>雇员编号</td>

<!--输出表格的行显示信息-->

<td>雇员姓名</td>

<td>雇员工作</td>

<td>雇员工资</td>

<td>雇佣日期</td>

</tr>

<c:forEachitems="${result.rows}"

var="row">

<tr>

<!--循环输出雇员的信息-->

<td>${row.empno}</td>

<td>${row.ename}</td>

<td>${row.job}</td>

<td>${row.hiredate}</td>

<td>${row.sal}</td>

</tr>

</c:forEach>

</table>

<!--表格输出完毕--></body></html>输出全部的内容——query_emp_show.jsp分页显示

<sql:queryvar="result"dataSource="${mldnds}"

maxRows="2"startRow="2"> SELECTempno,ename,job,hiredate,salFROMemp;

</sql:query>分页显示 <sql:queryvar="result"d<sql:update>更新操作可以使用<sql:update>进行操作,语法如下:<sql:updatesql="SQL语句"var="保存更新的记录数"[scope="[page|request|session|application]"] [dataSource="数据源的名称"]/><sql:updatevar="保存更新的记录数"[scope="[page|request|session|application]"] [dataSource="数据源的名称"]>

更新的SQL语句 </sql:update><sql:update>更新操作可以使用<sql:upda<sql:update>标签的属性No.属性名称EL支持描述1sql√编写要执行的更新语句2dataSource√本更新要使用的数据源名称3var×保存更新的记录数4scope×var变量的保存范围,默认是page范围<sql:update>标签的属性No.属性名称EL支持描向emp表增加新数据——insert_emp.jsp

<%@pagecontentType="text/html"pageEncoding="GBK"%><%@tagliburi="/jstl/sql"prefix="sql"%><html><head><title>,MLDN高端Java培训</title></head><body>

<sql:setDataSourcedataSource="jdbc/mldn"var="mldnds"/>

<sql:updatevar="result"dataSource="${mldnds}"> INSERTINTOemp(empno,ename,job,hiredate,sal)VALUES('6878','周军','经理','2003-03-14',9000);

</sql:update></body></html>向emp表增加新数据——insert_emp.jsp<设置参数在JDBC的操作中可以通过PreparedStatment完成预处理的操作,所有要设置的内容,都通过“?”进行占位,之后使用setXxx()方法设置每一个占位符的具体功能,在JSTL中也可以使用这种预处理的方式,只需要在<sql:query>或<sql:update>标签里使用“?”,但是所有的内容要通过<sql:param>和<sql:dateParam>两个标签设置,这两个标签语法如下:

<sql:paramvalue="参数内容"/><sql:dateParamtype="date种类"value="参数内容"/>设置参数在JDBC的操作中可以通过PreparedStatm使用预处理执行更新操作——preupdate_emp.jsp

<%@pagecontentType="text/html"pageEncoding="GBK"%><%@tagliburi="/jstl/sql"prefix="sql"%><html><head><title>,MLDN高端Java培训</title></head><body>

<% pageContext.setAttribute("empno",6878); pageContext.setAttribute("ename","李军"); pageContext.setAttribute("job","分析员"); pageContext.setAttribute("date",newjava.util.Date());

%>

<sql:setDataSourcedataSource="jdbc/mldn"var="mldnds"/>

<sql:updatevar="result"dataSource="${mldnds}"> UPDATEempSETename=?,job=?,hiredate=?WHEREempno=?;

<sql:paramvalue="${ename}"/>

<sql:paramvalue="${job}"/>

<sql:dateParamvalue="${date}"

type="date"/>

<sql:paramvalue="${empno}"/>

</sql:update></body></html>使用预处理执行更新操作——preupdate_emp.j事务处理

事务处理可以保证数据库更新操作的完整性,在JSTL中通过<sql:transaction>标签控制事务的处理,语法如下:

<sql:transaction[dataSource="数据源名称"] [isolation="[read_committed|read_uncommitted|repeatable|serializable]"]> <sql:update>或者<sql:query> </sql:transaction>事务处理事务处理可以保证数据库更新操作的完整性,在JSTL事务的安全级别防范

No.安全级别脏读不可重复读幻象读1read_committed2read_uncommitted√3repeatable√√4serializable√√√事务的安全级别防范No.安全级别脏读不可重复读幻象读1re使用<sql:transaction>标签——tran

温馨提示

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

评论

0/150

提交评论