JSTL标签库-sql标签库

一、SQL标签库:

1.DriverManager:驱动管理,获取连接,驱动不同,url不同,数据库不同。DataSource对象表示的物理数据源的连接。作为DriverManager工具替代项.
在这里插入图片描述
c) dateParam标签:设置SQL语句中java.sql.Date类型的点位符参数。
d) param标签:设置SQL语句中点位符参数值。
e) query标签:执行查询,返回的结果类型是javax.servlet.jsp.jstl.sql.Result接口实例,需要通过Result.getRows()方法得到所有的行数据,getRows()方法返回的结果类型是一个可排序的Map(java.util.SortedMap)数组。数组中的每个元素是一个SortedMap即保存了数据库的一行数据。
示例:${result.rows } //得到的是一个SortedMap的数组,每个元素是一行数据。
f) setDataSource标签:
i. 1)可以创建新的数据源;
ii. 2)可使用Tomcat下已配置的数据源。
g) update标签:执行更新、删除、插入操作。
h) transaction标签:完成事务操作,如果多条更新、删除、插入语句要做为一个原子性(atomicity,即所有的操作那么全部成功那么全部失败)来执行
i. (面试题) 补充,事务的四大特性(ACID):

  1. Atomicity:原子性,即所有的操作那么全部成功那么全部失败。
  2. Consistency:一致性,对数据做出改变必要前后一致。
  3. Isolation:隔离性,指多个事务同时操作某一资源时,每个事务都应该是独立完成。
  4. Durability:持久性,指的是事务操作的结果必须是永久的。
    ii. isolation属性值:
  5. 事务隔离 (READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, SERIALIZABLE)对于大多数数据库来说,默认的隔离是READ_COMMITTED提交读。
    T1 —> insert , but uncommit;
    T2 —> read 读不到T1插入的数据,因为未提交
    T1 - rollback

2.操作例子:
对于一个数据库来说只需要一个数据源就可以了

    <sql:setDataSource var="GllgDataSource"
    								driver=""
    								utl=""
    								user=""
    								password=""
    								scope="application"/>
    	<%query var="结果集对象" dataSource="数据源" startRow="查询结果行号" maxRows="获取数据记录数"
    	 注意:结果集对象的类型不是java.sql.ResulSet 的实例,而是javax.servlet.jsp.jstl.sql.Result 的实例%>
    <%
		pageContext.setAttribute("hiredate",new java.sql.date(new java.util.date().getTime()));
%>
    	<sql:query var="resultsSet" dataSource="${GllgDataSource}" startRow="${}" maxRows="10"
    	select * from employee where ename like ? and sal>=? and hiredate<?
    	<sql:param value="%A%"/>
    	<sql param>1000.0</sql:param>
    	<sql:dataParam value="${hiredate}"/>
    	</sql:query>
    	
    <table width="700" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>工作</th>
        <th>经理编号</th>
        <th>入职日期</th>
        <th>工资</th>
        <th>奖金</th>
        <th>部门编号</th>
    </tr>
  <c:forEach var="emp" items="${resultSet.rows}">
    <tr>
        <td>${emp.empno}</td>
        <td>${emp.ename}</td>
        <td>${emp.job}</td>
        <td>${emp.mgr}</td>
        <td><fmt:formatDate value="${emp.hiredate}" pattern="yyyy年MM月dd日"/></td>
        <td><fmt:formatNumber value="${emp.sal}" type="currency" /> </td>
        <td>${emp['comm']}</td>
        <td>${emp['deptno']}</td>
    </tr>
  </c:forEach>
</table>


<%--
<sql:transaction dataSource="${GllgDataSource}">
    <sql:update>
        n次delete, update, insert
    </sql:update>
</sql:transaction>
--%>

http://www.itbang.me/accou?menuKey=updateAvatar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值