`
mywebcode
  • 浏览: 1004197 次
文章分类
社区版块
存档分类
最新评论

JSTL标签(七)

 
阅读更多

JSTL详解(七):SQL相关的标签(二)

<sql:update>

作用:主要是执行插入、更新和删除操作的标签。另外,还有一些没有返回结果集的sql操作也可以使用这个标签。比如

create table tableName(id int….);

drop table tableName

grant tableName 等等。。

语法:a、没有body的情况

<sql:update sql=”sqlUpdate”

[dataSource=”dataSource”]

[var=”varName”]

[scope=”{page|session|request|application}”]/>

b、有body ,并且在body中指定参数

<sql:update sql=”sqlUpdate”

[dataSource=”dataSource”]

[var=”varName”]

[scope=”{page|session|request|application}”] >

<sql:param> actions

</sql:update>

c、有body,在body中指定sql语句和可选的参数

<sql:update sql=”sqlUpdate”

[dataSource=”dataSource”]

[var=”varName”]

[scope=”{page|session|request|application}”] >

Update statement

<sql:param> actions

</sql:update>

举例:sql_update.jsp

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

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<html>

<head>

<title>JSTL:的使用</title>

</head>

<sql:setDataSource

var="ds2"

dataSource="jdbc/ch12"

/>

更新记录值1<hr>

<sql:update var="update1" dataSource="${ds2}">

update sql_test set power='low' where id=01

</sql:update>

2种更新:创建表<hr>

<sql:update var="update4" sql="create table sql_temp_901(test varchar(20))" dataSource="${ds2}"/>

3种更新:增加记录

<sql:update var="update5" sql="insert into sql_temp_901 values('hellking')" dataSource="${ds2}"/>

4种更新:删除记录<hr>

<sql:update var="update6" sql="delete from sql_temp_901 where test='hellking'" dataSource="${ds2}"/>

5种更新:删除表<hr>

<sql:update var="update7" sql="drop table sql_temp_901" dataSource="${ds2}"/>

</body>

</html>

<sql:transaction>

作用:用语事务处理,它为<sql:query><sql:update>建立事务处理上下文,并且提供相同的数据源。

语法:<sql:transation [dataSource=”dataSourceName”]>

[isolation=”isolationLevel”]>

<sql:query> and <sql:update> statement

</sql:transation>

isolationLevel ::=”read_committed”

|”read_uncommitted”

|”repeatable_read”

|”serializable”

注意:DataSource属性和其他标签的DataSource属性一样,isolactionlevel属性指定事务隔离的级别,如果没有指定它的值,那么就使用自己配置的DataSource事务隔离级别。而且,嵌套在里面的<sql:query> <sql:update>标签不能再指定其他的数据源。<sql:transaction>

是数据库封装的轻量级事务处理,如果你需要复杂的事务处理或者分布试处理,它就不适合。

举例:sql_transaction.jsp

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

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<html>

<head>

<title>JSTL:sql:transaction的使用</title>

</head>

<sql:setDataSource

var="ds2"

dataSource="jdbc/ch12"

/>

<h2>使用事务处理方式创建一个表:</h2>

<sql:transaction dataSource="${ds2}">

<sql:update var="test_temp902">

create table test_temp902 (

id int primary key,

name varchar(80)

)

</sql:update>

<sql:update sql="insert into test_temp902 values(01,'wyy')"/>

<sql:update sql="update sql_test set power='wyy' where id=01"/>

</sql:transaction>

</body>

</html>

<sql:param>

作用:设置sql语句中“?”表示的占位符号的值。

语法:a、没有body,使用value指定。

<sql:param value=”value”/>

b、在body中指定

<sql:param>

参数值

</sql:param>

举例:sql_param.jsp

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

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<html>

<head>

<title>JSTL:sql:param的使用</title>

</head>

<sql:setDataSource

var="example"

dataSource="jdbc/ch12"

/>

执行更新操作:<hr>

<sql:update var="update2" sql="update sql_test set power=? where id=?" dataSource="${example}">

<sql:param value="high"/>

<sql:param value="01"/>

</sql:update>

</body>

</html>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics