JSTL标签库 sql标签
sql标签库提供了基本的访问关系型数据库的能力,提供查询,插入,更新,删除,以及事物处理等。在JSP页面中使用SQL标签库,使用taglib指令,制定引用的标签库。
<%@ taglib= uri=http://java.sun.com/jsp/jstl/sql prefix="sql" %>
SQL标签库有<sql:setDataSource>-------设置数据源
<sql:query>-------对数据库进行查询
<sql:param>--------设置SQL语句中标记为问号(?)的参数的值,类似于PreparedStatement的setXXX()方法的作用,作为<sql:update>和<sql:query>的子标签使用
<sql:dateParam>----------用java.util.Date类型的值设置SQL语句中标记为问号的值(?),作为<sql:update>和<sql:query>的子标签使用
<sql:update> -----------用于执行insert,update,delete语句,还可以执行SQL DDL语句
<sql:transaction>---------用于为<sql:query>和<sql:update>子标签建立事务处理上下文
这 6个标签。
附上一些实例:
<sql:setDataSource url="jdbc:mysql://localhost/bookstore" driver="com.mysql.jdbc.Driver" user="root" password="123456"/> <sql:query sql="select * from bookinfo" var="books"/> <table> <c:forEach var="book" items="${books.rows}"> <tr> <td><c:out value="${book.title}"/></td> <td><c:out value="${book.author}"/></td> <td><c:out value="${book.price}"/></td> </tr> </c:forEach> </table> <sql:setDataSource url="jdbc:mysql://localhost/bookstore" driver="com.mysql.jdbc.Driver" user="root" password="123456"/> <sql:query sql="select * from bookinfo" var="books"/> <table> <c:forEach var="book" items="${books.rowsByIndex}"> <tr> <td><c:out value="${book[1]}"/></td> <td><c:out value="${book[2]}"/></td> <td><c:out value="${book[3]}"/></td> </tr> </c:forEach> </table> <sql:setDataSource url="jdbc:mysql://localhost/bookstore" driver="com.mysql.jdbc.Driver" user="root" password="123456"/> <sql:query sql="select * from bookinfo" var="books"/> <table border="1"> <tr> <th>${books.columnNames[1]}</th> <th>${books.columnNames[2]}</th> <th>${books.columnNames[5]}</th> </tr> </table> <table> <c:forEach var="book" items="${books.rowsByIndex}"> <tr> <td>${book[1]}</td> <td>${book[2]}</td> <td>${book[5]}</td> </tr> </c:forEach> </table> <sql:update> insert into bookinfo(id, title, author, bookconcern, publish_date, price, amount) values (?, ?, ?, ?, ?, ?, ?) <sql:param>8</sql:param> <sql:param>JAVA编程思想</sql:param> <sql:param>Bruce</sql:param> <sql:param>XXXX</sql:param> <sql:param>2005-05-23</sql:param> <sql:param>55.00</sql:param> <sql:param>20</sql:param> </sql:update> <fmt:parseDate value="2004-06-02" type="date"/> <sql:query var="books"> select * from bookinfo where publish_date > ? <sql:dateParam value="${publish_date}" type="date"/> </sql:query>