了解即可。SQL标签库

No.

功能分类

标签名称

描述

1

数据源标签

<sql:setDataSource>

设置要使用的数据源名称

2

数据库操作标签

<sql:query>

执行查询操作

3

<sql:update>

执行更新操作

4

事务处理标签

<sql:transaction>

执行事务的处理操作,并设置操作的安全级别

  • 设定数据源:<sql:setDataSource> 
<sql:setDataSource dataSource="数据源名称" [var="保存的属性名称"]  [scope="[page | request | session | application]"]/>
<sql:setDataSource driver="数据库驱动程序" url="数据库连接地址"  user="用户名" password="密码" [var="保存的属性名称"]  [scope="[page | request | session | application]"]/>
<sql:setDataSource>标签的属性:

No.

属性名称

EL支持

描述

1

dataSource

数据源名称

2

driver

JDBC数据库驱动程序

3

url

数据库连接的URL地址

4

user

数据库的用户名

5

password

数据库的密码

6

var

×

储存数据库连接的属性名称

7

scope

×

var属性的保存范围,默认为page

 
  1. <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
  2. <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>

数据库操作标签 :<sql:query>、<sql:update>、<sql:transaction>

  • 查询操作:<sql:query> 
<sql:query sql="SQL语句" var="保存查询结果的属性名称"  [scope="[page | request | session | application]"]  [dataSource="数据源的名称"] maxRows="最多显示的记录数" startRow="记录的开始行数"/>
<sql:query var="保存查询结果的属性名称"  [scope="[page | request | session | application]"]  [dataSource="数据源的名称"] maxRows="最多显示的记录数" startRow="记录的开始行数">

SQL查询语句

</sql:query>

<sql:query>标签的属性 :

No.

属性名称

EL支持

描述

1

sql

编写要执行的查询语句

2

dataSource

本查询要使用的数据源名称

3

maxRows

最多可以显示的数据记录数

4

startRow

数据的开始行数,默认在第0行

5

var

×

保存查询结果

6

scope

×

var变量的保存范围,默认是page范围

  1. <sql:setDataSource dataSource="java:comp/env/jdbc/mldn" var="mldnds"/>
  2. <sql:query var="result">
  3. SELECT empno,ename,job,hiredate,sal FROM emp ;
  4. </sql:query>

查询结果的五个属性 :

No.

属性名称

描述

1

rows

根据字段名称取出列的内容

2

rowsByIndex

根据字段索引取出列的内容

3

columnNames

取得字段的名称

4

rowCount

取得全部的记录数

5

limitedByMaxRows

取出最大的数据长度

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ taglib prefix="c" uri="http://www.mldn.cn/jst/core"%>
  3. <%@ taglib prefix="sql" uri="http://www.mldn.cn/jst/sql"%>
  4. <html>
  5. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  6. <body>
  7. <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
  8. <sql:query var="result" dataSource="${mldnds}" maxRows="2" startRow="2">
  9. SELECT empno,ename,job,hiredate,sal FROM emp ;
  10. </sql:query>
  11. <h3>一共有${result.rowCount}条记录!</h3>
  12. <table border="1" width="100%">
  13. <tr>
  14. <td>雇员编号</td>
  15. <td>雇员姓名</td>
  16. <td>雇员工作</td>
  17. <td>雇员工资</td>
  18. <td>雇佣日期</td>
  19. </tr>
  20. <c:forEach items="${result.rows}" var="row">
  21. <tr>
  22. <td>${row.empno}</td>
  23. <td>${row.ename}</td>
  24. <td>${row.job}</td>
  25. <td>${row.sal}</td>
  26. <td>${row.hiredate}</td>
  27. </tr>
  28. </c:forEach>
  29. </table>
  30. </body>
  31. </html>

分页显示:

  1. <sql:query var="result" dataSource="${mldnds}" maxRows="2" startRow="2">
  2. SELECT empno,ename,job,hiredate,sal FROM emp ;
  3. </sql:query>
  • 更新操作:<sql:update> 
<sql:update sql="SQL语句" var="保存更新的记录数" [scope="[page | request | session | application]"]  [dataSource="数据源的名称"]/>
<sql:update var="保存更新的记录数" [scope="[page | request | session | application]"]  [dataSource="数据源的名称"]>

更新的SQL语句

</sql:update>

<sql:update>标签的属性 :

No.

属性名称

EL支持

描述

1

sql

编写要执行的更新语句

2

dataSource

本更新要使用的数据源名称

3

var

×

保存更新的记录数

4

scope

×

var变量的保存范围,默认是page范围

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
  3. <html>
  4. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  5. <body>
  6. <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
  7. <sql:update var="result" dataSource="${mldnds}">
  8. INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES ('6878','周军','经理','2003-03-14',9000) ;
  9. </sql:update>
  10. </body>
  11. </html>

设置参数:

在JDBC的操作中可以通过PreparedStatment完成预处理的操作,所有要设置的内容,都通过“?”进行占位,之后使用setXxx()方法设置每一个占位符的具体功能,在JSTL中也可以使用这种预处理的方式,只需要在<sql:query>或<sql:update>标签里使用“?”,但是所有的内容要通过<sql:param>和<sql:dateParam>两个标签设置,这两个标签语法如下:
<sql:param value="参数内容"/>
<sql:dateParam type="date种类" value="参数内容"/>
  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
  3. <html>
  4. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  5. <body>
  6. <%
  7. pageContext.setAttribute("empno",6878) ;
  8. pageContext.setAttribute("ename","李军") ;
  9. pageContext.setAttribute("job","分析员") ;
  10. pageContext.setAttribute("date",new java.util.Date()) ;
  11. %>
  12. <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
  13. <sql:update var="result" dataSource="${mldnds}">
  14. UPDATE emp SET ename=?,job=?,hiredate=? WHERE empno=? ;
  15. <sql:param value="${ename}"/>
  16. <sql:param value="${job}"/>
  17. <sql:dateParam value="${date}" type="date"/>
  18. <sql:param value="${empno}"/>
  19. </sql:update>
  20. </body>
  21. </html>
  • 事务处理 :<sql:transaction>
<sql:transaction [dataSource="数据源名称"]   [isolation="[read_committed | read_uncommitted | repeatable | serializable]"]>

<sql:update>或者<sql:query>

</sql:transaction>

事务的安全级别防范 :

No.

安全级别

脏读

不可重复读

幻象读

1

read_committed

     

2

read_uncommitted

   

3

repeatable

 

4

serializable

  1. <%@ page contentType="text/html" pageEncoding="GBK"%>
  2. <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
  3. <html>
  4. <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
  5. <body>
  6. <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
  7. <sql:transaction isolation="serializable" dataSource="${mldnds}">
  8. <sql:update var="result">
  9. INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES ('6879','李彦','经理','2003-03-14',3000) ;
  10. </sql:update>
  11. </sql:transaction>
  12. </body>
  13. </html>

总结:

1. JSTL虽然提供了SQL的支持标签,但是从MVC上来讲,此种操作并不常用;
2. 通过SQL标签库可以直接在JSP页面中进行数据库的各种操作。

JSP标准标签库(JSTL)--SQL标签库 sql的更多相关文章

  1. 小峰servlet/jsp(7)jstl国际化标签库、sql标签库等

    一.jstl国际化标签库: fmt:setLocale 设定用户所在的区域: fmt:formatDate   对日期进行格式化 fmt:requestEncoding 设置所有的请求编码; fmt: ...

  2. JSP标准标签库(JSTL)--XML标签库 x

    ³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理.  XML标 ...

  3. 小峰servlet/jsp(6)jstl核心标签库

    一.引入jstl 需要jstl.jar;standard.jar; 二.jstl核心标签库: c:out         内容输出标签; c:set      用来设置4种属性范围值的标签: c:re ...

  4. [Java] JSP笔记 - EL、JSTL 常用标签

    一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...

  5. JSP标准标签库(JSTL)--核心标签库 c

    核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...

  6. JSP标准标签库(JSTL)--国际化标签库 fmt

    JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...

  7. JSP标准标签库(JSTL)--函数标签库 fn

    和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...

  8. JSP标准标签库(JSTL)

    JSTL:JSP Standard Tag Library:JSP标准标签库 以下内容引用自http://wiki.jikexueyuan.com/project/jsp/standard-tag-l ...

  9. 【JSP】JSTL核心标签库的使用方法和示例

    JSTL 核心标签库 JSTL 核心标签库标签共有13个,功能上分为4类: 1. 表达式控制标签:out.set.remove.catch 2. 流程控制标签:if.choose.when.other ...

随机推荐

  1. Shell脚本常用判断

    -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真  -f filename 如果 filename为常规文件,则为真 -L fi ...

  2. Valgrind: memcheck of memleak/mem-uninitialization; massif usage

    first install valgrind, its newest ver is 3.11, and stops updating since 2015/12. in centos, yum ins ...

  3. UVALive 7070 The E-pang Palace(暴力)

    实话说这个题就是个暴力,但是有坑,第一次我以为相含是不行的,结果WA,我加上相含以后还WA,我居然把这两个矩形的面积加在一块了吗,应该取大的那一个啊-- 方法就是枚举对角线,为了让自己不蒙圈,我写了一 ...

  4. VBS脚本实例

    一.一键升级哨位台核心板程序脚本. ############################################################ Set ws=WScript.Create ...

  5. apache 添加到windows服务

    cmd命令行下 输入 “d:\apache\bin\httpd.exe” -k install 如果是resin的话直接运行目录下的setup就可以了, 前提是需要.net framework 3.5

  6. lldpd-0.7.7代码解读(send_pdu部分)

    此文档是经过逆序推到出的,可能有错误之处,敬请指教,谢谢. 1)interfaces_update 更新一些接口信息 2)levent_iface_subscribe 该接口通过socket通信(非阻 ...

  7. SharePoint 2013 APP 开发示例 (二)获取用户信息

    SharePoint 2013 APP 开发示例 (二)获取用户信息 这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的  SharePo ...

  8. dns是什么

    域名解析服务器,靠它把你要访问的网址找到然后把信息送到你电脑上.DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主 ...

  9. isPostBack原理

    从 到输入用户名,点击提交按钮 这个过程就叫做postback(是两个不同的状态)     利用ispostback原理,实现是否第一次进入处理程序(上一个用用户名判断的不好,会导致在用户名空的情况下 ...

  10. c_select 调用参数说明

    c_select 调用 1. select系统调用select系统调用是用来让我们的程序监视多个文件描述符的状态变化的.程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改 ...