jstl的SQL标签库

SQL tag Library中的标签用来提供在 JSP 页面中可以与数据库进行交互的功能
Database access标签库有以下6组标签来进行工作:

<sql:setDataSource>、<sql:query>、<sql:update>、<sql:transaction>、<sql:param>、<sql:dateParam>

引入SQL标签库的指令代码为:

<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

1.<sql:setDataSource> 标签:用于设置数据源

  定义一个数据源并保存在"dataSource"变量内
<sql:setDataSource
var="dataSource"
url="jdbc:mysql://localhost:3306/exe?charachterEncoding=UTF-8"
driver="com.mysql.jdbc.Driver"
user="root"
password="root"/>

 2.<sql:query> 标签:用于查询
  它标签体内可以是一句查询 SQL,保存的结果是 javax.servlet.jsp.jstl.sql.Result 类型的实例

<!--使用<sql:query> 标签启动查询,将结果保存到变量"queryResults"中-->
<sql:query var="queryResults" dataSource="${dataSrc}">
select * from table1
</sql:query>
<!--要取得结果集中的数据可以使用 <c:forEach> 循环来进行-->
<c:forEach var="row" items="${queryResults.rows}">
<tr>
<td>${row.userName}</td>
<td>${row.passWord}</td>
</tr>
</c:forEach>
  其中,"row"是javax.servlet.jsp.jstl.sql.Result实例的变量属性之一,用来表示数据库表中的"列"集合
  循环时,通过"${row.XXX}"表达式可以取得每一列的数据,"XXX"是表中的列名

3.<sql:update>标签:用于更新数据库,它的标签体内可以是一句更新的 SQL 语句

<sql:update sql="INSERT INTO user(username,pwd) VALUES('aa','123456')"/> 
<sql:update var="rs" dataSource="${dataSource}">
  drop table if exists table1 //drop
  insert into table1(username,pwd) values('a','123') //insert
  create table user(id int,name varchar(50),pwd varchar(50)) //create
</sql:update>

4.<sql:transaction>标签:用于事务处理

    <sql:transaction> 标签用于数据库的事务处理,在该标签体内可以使用 <sql:update> 标签和 <sql:query> 标签,而 <sql:transaction> 标签的事务管理将作用于它们之上。 
    <sql:transaction> 标签对于事务处理定义了 read_committed 、 read_uncommitted 、 repeatable_read 、 serializable4 个隔离级别。    

 <sql:transaction>
<sql:update sql="INSERT INTO user(username,pwd) VALUES('aa','123456')"/>
<sql:update sql="DELETE user WHERE username='bb'"/>
</sql:transaction>

  5.<sql:param> 、 <sql:dateParam> 标签:用于向 SQL 语句提供参数

    这两个标签用于向 SQL 语句提供参数,就好像程序中预处理 SQL 的“ ? ”一样
    <sql:param> 标签传递除 java.util.Date 类型以外的所有相融参数, 
    <sql:dateParam> 标签则指定必须传递 java.util.Date 类型的参数。

<sql:query var="queryResults" dataSource="${dataSrc}">
select * from user where username=?
<sql:param value="${param.username}">
     <sql:dateParam value ="${date}" type="timestamp" />
</sql:query>

(4)JSTL的SQL标签库的更多相关文章

  1. 转: JSTL SQL标签库 使用

    SQL标签库 JSTL提供了与数据库相关操作的标签,可以直接从页面上实现数据库操作的功能,在开发小型网站是可以很方便的实现数据的读取和操作.本章将详细介绍这些标签的功能和使用方法. SQL标签库从功能 ...

  2. JSP标准标签库(JSTL)--SQL标签库 sql

    了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...

  3. JSTL SQL标签库 使用

    推荐博客:http://blog.sina.com.cn/s/blog_4f925fc30101820u.html 怕博主把原文删了,所以在这里先保存一下. SQL标签库 JSTL提供了与数据库相关操 ...

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

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

  5. java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结

    2016-09-0111:06:53                                     使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...

  6. JSTL之迭代标签库

    JSTL之迭代标签库 JSTL的全称是 Java Server Pages Standard Tag Library,翻译过来就是JSP标准标签库,它包含了在开发JSP页面时经常用到的一组标准标签.这 ...

  7. (5)JSTL的xml标签库

    Jstl的XML标签库 JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Dom和SAX标签库的繁琐,能轻松的读取xml文件的内容. <%@ taglib uri="h ...

  8. 12.javaweb SQL标签库

    一.说明及使用 1,  首先要知道,开发中绝对不会SQL标签库在JSP中进行数据库操作,学习SQL标签库只是作为一个只是扩展 2,  SQL标签库分类 2.1<sql:setDataSource ...

  9. JSTL (标准标签库)

    JSTL(标准标签库) 作用: Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性.维护性和方便性. 使用方法:J ...

随机推荐

  1. lightoj1060【康托逆展开】

    可以先看些资料:http://blog.csdn.net/keyboarderqq/article/details/53388936 参考谷巨巨:http://blog.csdn.net/azx736 ...

  2. Lightoj1003【判环操作】

    题意: 对于n个给出字符串a,b,理解成a在b之前办好这个事情,要求n个给出两个串,a都要在b之前完成: 题意: 所以一旦出现环就不行了: 以前在写最短路的时候,spfa就有一个判环,后来写着写着写到 ...

  3. Forward Rendering 正向渲染

    Forward Rendering 正向渲染        正向渲染一个基于着色器的渲染路径.它支持逐像素计算光照(包括法线贴图和灯光Cookies)和来自一个平行光的实时阴影.在默认设置中,少数最亮 ...

  4. Java对象池示例

    单例模式是限制了一个类只能有一个实例,对象池模式则是限制一个类实例的个数.对象池类就像是一个对象管理员,它以Static列表(也就是装对象的池子)的形式存存储某个实例数受限的类的实例,每一个实例还要加 ...

  5. jzoj5990. 【北大2019冬令营模拟2019.1.6】Bear (状压dp)

    题面 题解 我永远讨厌dp.jpg 搞了一个下午优化复杂度最后发现只要有一个小trick就可以A了→_→.全场都插头dp就我一个状压跑得贼慢-- 不难发现我们可以状压,对于每一行,用状态\(S\)表示 ...

  6. [Xcode 实际操作]九、实用进阶-(1)隐藏顶部的状态栏

    目录:[Swift]Xcode实际操作 本文将演示隐藏顶部的状态栏. 在项目导航区,打开项目配置文件[Info.plist] 每个程序都拥有自己的项目配置文件,用来存储各种配置信息. 鼠标右键[Add ...

  7. Git的使用方法与GitHub项目托管方法

    Git的安装 Windows上安装Git 访问网址:https://git-for-windows.github.io/ 点击Download下载,下载后双击安装包进行安装,一直"下一步&q ...

  8. win10怎么修改DNS

    方法/步骤   1 鼠标右键桌面单击此电脑--属性,如下图所示 2 进入电脑属性,选择控制面板主页,如下图所示 3 我们继续选择网络和Internet进入,如下图所示 4 进入网络和Internet, ...

  9. [題解]luogu_P1854 花店櫥窗佈置

    來源:題解 一開始看不懂題目,一萬年了終於看懂 f [ i ] [ j ] 表示第i朵花放在第j個花瓶中最大美學值,(花是必須用完嗎?) 顯然放i-1朵花至少要放到前i-1個瓶子里,最多放到前j-1個 ...

  10. python 基础(四) 函数

    函数 一.什么是函数? 函数是可以实现一些特定功能的 小方法 或者是小程序 优点: 提高 了代码的后期维护 增加了代码的重复使用率 减少了代码量 提高了代码可读性 二.函数的定义 使用 def关键+函 ...