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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章