加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JSP JSTL <sql:transaction>标签:事务处理

发布时间:2020-12-15 02:41:15 所属栏目:Java 来源:网络整理
导读:sql:transaction 标签用于在事务中处理 SQL 操作,如果 SQL 操作有错误将不会执行 sql:transaction 标签中的所有 SQL 操作。 语法: sql:transaction[dataSource="dataSource"] ? [isolation=isolationLevel] ? sql:queryandsql:updatestatements /sql:transa
<sql:transaction> 标签用于在事务中处理 SQL 操作,如果 SQL 操作有错误将不会执行 <sql:transaction> 标签中的所有 SQL 操作。

语法:

<sql:transaction[dataSource="dataSource"]
? [isolation=isolationLevel]>
? <sql:query>and<sql:update>statements
</sql:transaction>
? isolationLevel:="read_committed"
? |"read_uncommitted"
? |"repeatable_read"
? |"serializable"

参数说明:
  • dataSource:使用的数据源对象,使用 java.util.DateSource 类型,可以引用EL表达式。
  • isolation:事务的隔离属性,用来设置事务的安全级别。其属性值包括 read_committed、read_uncommitted、repeatable_read 和 serializable,可以引用 EL 表达式。

示例

本示例应用 <sql:transaction> 标签处理事务中对用户密码更改的 sql 操作,关键代码如下:
<%@page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
  <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
    <sql:setDataSource driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                       url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=db_testH"
                       user="sa"password=""var="conn"/>
    <sql:transaction dataSource="${conn}" isolation="read_uncommitted">
      <sql:update sql="UPDATE tb_user SET pwd=?WHERE username=?">
        <sql:param value="1224"></sql:param>
        <sql:param value="zs"></sql:param>
      </sql:update>
      <sql:update sql="UPDATE tb_user SET id=?WHERE username=?">
        <sql:param value="123"></sql:param>
        <sql:param value="zs"></sql:param>
      </sql:update>
    </sql:transaction>
运行本示例,如果第二条更新语句出现错误,则第一条更新语句的更新结果将会被回滚。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读