JSP标准标签库(JSTL)--SQL标签库 sql
了解即可。SQL标签库
No. |
功能分类 |
标签名称 |
描述 |
1 |
数据源标签 |
<sql:setDataSource> |
设置要使用的数据源名称 |
2 |
数据库操作标签 |
<sql:query> |
执行查询操作 |
3 |
<sql:update> |
执行更新操作 |
|
4 |
事务处理标签 |
<sql:transaction> |
执行事务的处理操作,并设置操作的安全级别 |
- 设定数据源:<sql:setDataSource>
No. |
属性名称 |
EL支持 |
描述 |
1 |
dataSource |
√ |
数据源名称 |
2 |
driver |
√ |
JDBC数据库驱动程序 |
3 |
url |
√ |
数据库连接的URL地址 |
4 |
user |
√ |
数据库的用户名 |
5 |
password |
√ |
数据库的密码 |
6 |
var |
× |
储存数据库连接的属性名称 |
7 |
scope |
× |
var属性的保存范围,默认为page |
- <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
- <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
数据库操作标签 :<sql:query>、<sql:update>、<sql:transaction>
- 查询操作:<sql:query>
SQL查询语句
</sql:query>
<sql:query>标签的属性 :
No. |
属性名称 |
EL支持 |
描述 |
1 |
sql |
√ |
编写要执行的查询语句 |
2 |
dataSource |
√ |
本查询要使用的数据源名称 |
3 |
maxRows |
√ |
最多可以显示的数据记录数 |
4 |
startRow |
√ |
数据的开始行数,默认在第0行 |
5 |
var |
× |
保存查询结果 |
6 |
scope |
× |
var变量的保存范围,默认是page范围 |
- <sql:setDataSource dataSource="java:comp/env/jdbc/mldn" var="mldnds"/>
- <sql:query var="result">
- SELECT empno,ename,job,hiredate,sal FROM emp ;
- </sql:query>
查询结果的五个属性 :
No. |
属性名称 |
描述 |
1 |
rows |
根据字段名称取出列的内容 |
2 |
rowsByIndex |
根据字段索引取出列的内容 |
3 |
columnNames |
取得字段的名称 |
4 |
rowCount |
取得全部的记录数 |
5 |
limitedByMaxRows |
取出最大的数据长度 |
- <%@ page contentType="text/html" pageEncoding="GBK"%>
- <%@ taglib prefix="c" uri="http://www.mldn.cn/jst/core"%>
- <%@ taglib prefix="sql" uri="http://www.mldn.cn/jst/sql"%>
- <html>
- <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
- <body>
- <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
- <sql:query var="result" dataSource="${mldnds}" maxRows="2" startRow="2">
- SELECT empno,ename,job,hiredate,sal FROM emp ;
- </sql:query>
- <h3>一共有${result.rowCount}条记录!</h3>
- <table border="1" width="100%">
- <tr>
- <td>雇员编号</td>
- <td>雇员姓名</td>
- <td>雇员工作</td>
- <td>雇员工资</td>
- <td>雇佣日期</td>
- </tr>
- <c:forEach items="${result.rows}" var="row">
- <tr>
- <td>${row.empno}</td>
- <td>${row.ename}</td>
- <td>${row.job}</td>
- <td>${row.sal}</td>
- <td>${row.hiredate}</td>
- </tr>
- </c:forEach>
- </table>
- </body>
- </html>
分页显示:
- <sql:query var="result" dataSource="${mldnds}" maxRows="2" startRow="2">
- SELECT empno,ename,job,hiredate,sal FROM emp ;
- </sql:query>
- 更新操作:<sql:update>
更新的SQL语句
</sql:update>
<sql:update>标签的属性 :
No. |
属性名称 |
EL支持 |
描述 |
1 |
sql |
√ |
编写要执行的更新语句 |
2 |
dataSource |
√ |
本更新要使用的数据源名称 |
3 |
var |
× |
保存更新的记录数 |
4 |
scope |
× |
var变量的保存范围,默认是page范围 |
- <%@ page contentType="text/html" pageEncoding="GBK"%>
- <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
- <html>
- <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
- <body>
- <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
- <sql:update var="result" dataSource="${mldnds}">
- INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES ('6878','周军','经理','2003-03-14',9000) ;
- </sql:update>
- </body>
- </html>
设置参数:
- <%@ page contentType="text/html" pageEncoding="GBK"%>
- <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
- <html>
- <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
- <body>
- <%
- pageContext.setAttribute("empno",6878) ;
- pageContext.setAttribute("ename","李军") ;
- pageContext.setAttribute("job","分析员") ;
- pageContext.setAttribute("date",new java.util.Date()) ;
- %>
- <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
- <sql:update var="result" dataSource="${mldnds}">
- UPDATE emp SET ename=?,job=?,hiredate=? WHERE empno=? ;
- <sql:param value="${ename}"/>
- <sql:param value="${job}"/>
- <sql:dateParam value="${date}" type="date"/>
- <sql:param value="${empno}"/>
- </sql:update>
- </body>
- </html>
- 事务处理 :<sql:transaction>
<sql:update>或者<sql:query>
</sql:transaction>
事务的安全级别防范 :
No. |
安全级别 |
脏读 |
不可重复读 |
幻象读 |
1 |
read_committed |
|||
2 |
read_uncommitted |
√ |
||
3 |
repeatable |
√ |
√ |
|
4 |
serializable |
√ |
√ |
√ |
- <%@ page contentType="text/html" pageEncoding="GBK"%>
- <%@ taglib uri="http://www.mldn.cn/jstl/sql" prefix="sql"%>
- <html>
- <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
- <body>
- <sql:setDataSource dataSource="jdbc/mldn" var="mldnds"/>
- <sql:transaction isolation="serializable" dataSource="${mldnds}">
- <sql:update var="result">
- INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES ('6879','李彦','经理','2003-03-14',3000) ;
- </sql:update>
- </sql:transaction>
- </body>
- </html>
总结:
JSP标准标签库(JSTL)--SQL标签库 sql的更多相关文章
- 小峰servlet/jsp(7)jstl国际化标签库、sql标签库等
一.jstl国际化标签库: fmt:setLocale 设定用户所在的区域: fmt:formatDate 对日期进行格式化 fmt:requestEncoding 设置所有的请求编码; fmt: ...
- JSP标准标签库(JSTL)--XML标签库 x
³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理. XML标 ...
- 小峰servlet/jsp(6)jstl核心标签库
一.引入jstl 需要jstl.jar;standard.jar; 二.jstl核心标签库: c:out 内容输出标签; c:set 用来设置4种属性范围值的标签: c:re ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- JSP标准标签库(JSTL)--核心标签库 c
核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...
- JSP标准标签库(JSTL)--国际化标签库 fmt
JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...
- JSP标准标签库(JSTL)--函数标签库 fn
和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...
- JSP标准标签库(JSTL)
JSTL:JSP Standard Tag Library:JSP标准标签库 以下内容引用自http://wiki.jikexueyuan.com/project/jsp/standard-tag-l ...
- 【JSP】JSTL核心标签库的使用方法和示例
JSTL 核心标签库 JSTL 核心标签库标签共有13个,功能上分为4类: 1. 表达式控制标签:out.set.remove.catch 2. 流程控制标签:if.choose.when.other ...
随机推荐
- JPA 系列教程12-复合主键-2个@Id+@IdClass
复合主键 指多个主键联合形成一个主键组合 需求产生 比如航线一般是由出发地及目的地确定,如果要确定唯一的航线就可以用出发地和目的地一起来表示 ddl语句 同复合主键-2个@Id一样 Airline p ...
- Android中的shape
在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如imageview或textview ...
- captche验证码
JCaptcha 是一个用来生成验证码的开源Java类库 CaptchaServiceSingleton类(单态类) package com.dongbin.testy; import com.oct ...
- Redis简介四
一..NET使用Redis 和MongoDB一样,在.NET中使用Redis其实也是使用第三方驱动,官网推荐的是使用ServiceStack.Redis(https://github.com/Serv ...
- javascript中的throttle和debounce
throttle 我们这里说的throttle就是函数节流的意思.再说的通俗一点就是函数调用的频度控制器,是连续执行时间间隔控制.主要应用的场景比如: 1.鼠标移动,mousemove 事件2.DOM ...
- view视图--display中echo出ob_get_contents的缓冲内容--(实现,拼接好文件--导入文件)
view.php01默认设置有3个公共的属性,其他属性.后面实例化的时候.通过传递参数.foreach遍历,不断的增加属性02view对象的实例化.位置在-->控制器父类的构造方法中视图的目录名 ...
- 通过C++修改系统时间代码
#include <windows.h>#include <stdio.h>#include <iostream>using namespace std;int m ...
- HDU2504:又见GCD
Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input ...
- oc拨打电话
判断当前设备是否支持电话功能 +(int)isCanCall{ if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad || [[[UIDevi ...
- Linq中max min sum avarage count的使用
一.Max最大值 static void Main(string[] args) { //Max求最大值 ,,,,,,,,,}; //方法1 Linq语句+Linq方法 var result = (f ...