SQL相关的标签 今天,我来讲解下一些很重要的jstl标签,如果运用得当,可以大大的简化数据库的操作,减少代码量。首先sql标签可以实现包括查询、更新、事务处理和设置数据源等强大的功能。下面分别讲述。 <sql:setDataSource> <sql:query> <sql:update> <sql:transaction> <sql:param> <sql:setDataSource> 语法:<sql:setDataSource>用来设置数据源,可以通过scope设置使用范围,如page、application、session等。有两种方式可以设置数据源,一种是直接使用在web中配置的数据源,只要指定jndi名就可以了(这个就不要我多讲了吧,呵呵),第二种是指定所有的连接属性。 <sql:setDataSource {dataSource=”dataSourceName” | url=”jdbcurl” [driver=”driverClassName”] [user=”userName”] [password=”password”] [var=”varName”] [scope=”{page|session|request|application}”]/> 举例:sql_datasource.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:<sql:setDataSource>的使用</title> </head> <body bgcolor="#FFFFFF"> 创建普通的数据源:<br> <sql:setDataSource var="ds1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/jstlTest" user="jstl" password="jstl" /> 从jndi名称空间中获得一个数据源。<br> <sql:setDataSource var="ds2" dataSource="jdbc/ds2" /> </body> </html> <sql:query> 作用:不用说都知道了,数据库操作中最频繁的查询。 语法:a、没有body <sql:query sql=”sqlQuery” Var=”varName” [scope=”{page|session|request|application}”] [dataSource=”dataSourceName”] [maxRows=”maxRows”] [startRow=”startRow”] /> b、有一个body ,并在body 中指定了查询需要的参数 <sql:query sql=”sqlQuery” Var=”varName” [scope=”{page|session|request|application}”] [dataSource=”dataSourceName”] [maxRows=”maxRows”] [startRow=”startRow”] > <sql:param> actions </sql:query> c、有body,并且可以指定可选的参数(< sql:param >在后面讲述) <sql:query sql=”sqlQuery” Var=”varName” [scope=”{page|session|request|application}”] [dataSource=”dataSourceName”] [maxRows=”maxRows”] [startRow=”startRow”] > query optional<sql:param> actions </sql:query> 举例:sql_query.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:<sql:query>的使用</title> </head> <body bgcolor="#FFFFFF"> <sql:setDataSource var="ds2" dataSource="jdbc/ch12" /> 第一种查询:<hr> <sql:query var="query" dataSource="${ds2}"> SELECT * FROM sql_test </sql:query> <table border="1"> <c:forEach var="row" items="${query.rows}"> <tr> <td>Name: <c:out value="${row.id}"/></td> <td>mobile: <c:out value="${row.power}"/></td> </tr> </c:forEach> </table> <hr> 第2种查询:<hr> <sql:query var="query2" sql="SELECT * FROM sql_test where id=?" dataSource="${ds2}"> <sql:param value="01"/> </sql:query> <table border="1"> <c:forEach var="row" items="${query2.rows}"> <tr> <td>Name: <c:out value="${row.id}"/></td> <td>mobile: <c:out value="${row.power}"/></td> </tr> </c:forEach> </table> </body> </html>

评论