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>


          posted on 2007-06-13 10:36 chenguo 閱讀(450) 評論(3)  編輯  收藏 所屬分類: 組件 標簽使用

          評論

          # re: JSTL詳解(七) 2007-12-12 17:12 E

          3Q  回復  更多評論   

          # re: JSTL詳解(七) 2009-05-02 23:13 龍華城

          為什么你博客里的jstl詳解從(三)開始呢, (一)跟(二)呢?  回復  更多評論   

          # re: JSTL詳解(七) 2009-05-02 23:41 龍華城

          找到一和三了, 不錯的文章.  回復  更多評論   

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          留言簿

          隨筆分類(1)

          文章分類(52)

          好友 小山的博客

          最新隨筆

          最新評論

          主站蜘蛛池模板: 黄大仙区| 武邑县| 江永县| 伊金霍洛旗| 乌拉特中旗| 新巴尔虎右旗| 休宁县| 五寨县| 云阳县| 宜春市| 平乐县| 宁南县| 准格尔旗| 通州市| 永丰县| 龙口市| 东海县| 巴彦淖尔市| 通山县| 福鼎市| 嘉荫县| 清流县| 乐东| 甘孜县| 安义县| 班玛县| 清丰县| 交城县| 盐津县| 湖北省| 许昌县| 旬邑县| 铁岭县| 济南市| 新津县| 阿克陶县| 阳西县| 瑞丽市| 元江| 镇原县| 宁海县|