zoukankan      html  css  js  c++  java
  • (4)JSTL的SQL标签库

    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>
  • 相关阅读:
    csharp:Validate email address using C#
    Sql:SQL Server CREATE SEQUENCE statement
    机器学习实战---SVD简化数据
    机器学习实战---PCA降维
    机器学习实战---使用FP-growth算法来高效发现频繁项集
    机器学习实战---使用Apriori算法进行关联分析
    机器学习实战---集成学习AdaBoost算法
    支持向量机核函数的实现
    支持向量机SMO算法实现(注释详细)
    帧缓冲
  • 原文地址:https://www.cnblogs.com/estellez/p/3956500.html
Copyright © 2011-2022 走看看