JSTL包括四个标签库,即Core标签库、XML标签库、国际化与格式化标签库和SQL标签库,这里介绍SQL标签库(jstl.jar,standard.jar):
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql_rt" prefix="sql" %>
一.连接MySQL的几种方式
1.创建普通的数据源
<sql:setDataSource var="example" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/test"
user="root" password="" [scope="request"]/>
2.从JNDI名称空间中获得一个数据源
<sql:setDataSource var="example" dataSource="jdbc/bn" />
二.<sql:query>和<sql:update>(<sql:param>/<sql:dateParam>可以用于query和update)
<sql:query var="qurey" dataSource="${example}" sql="select * from dept />
<sql:query var="qurey2" dataSource="${example}">
select * from dept
</sql:query>
<sql:query var="qurey3" dataSource="${example}" [maxRows="20"] [startRow="1"]
[scope="request"]>
select * from dept where deptid=? and deptname=? and createtime=?
<sql:param value="1"/>
<sql:param>wuhui</sql:param>
<sql:dateParam>new Date()</sql:dateParam>
</sql:query>
<c:forEach var="row" items="${query.rows}"></c:forEach>//迭代
<sql:update var="update" dataSource="${example}" >
update dept set deptid=? and deptname=?
<sql:param value="1"/>
<sql:param>wuhui</sql:param>
update 处理增删改什么都可以,除了查询
</sql:update>
query和update语法基本一样
3.<sql:transaction>事务处理标签
<sql:transaction dataSource="example"
[isolation="read_committed|read_uncommitted|repeatable_read|serializable"]>
<sql:query>and<sql:update>语句
</sql:transaction>
<c:forEach var="row" items="${result.rowsByIndex}"> //应用索引
<c:out value="${row[0]}"/> <br> //${row[0]},${row[1],${row[2]}等
</c:forEach>