JSTL详解(六)

JSTL详解(六):SQL相关的标签

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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值