SQL标签-sql:param

<sql:param>标签用于在SQL语句中设置参数值。

<sql:param>标签用作<sql:update>和<sql:query>的嵌套标签,用于在SQL查询参数中提供值。如果提供null,则将value属性的值设置为SQL NULL。

<sql:param>标签的语法:

<c:set var="userId" value="7"/>  
<sql:update dataSource="${db}" var="count">  
    DELETE FROM t_user WHERE id = ?  
    <sql:param value="${userId}" />  
</sql:update>  

1 sql:param的示例

1.1 创建表和插入数据

在MySQL的test数据库中创建t_user表:

CREATE TABLE `t_user` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `username` varchar(50) DEFAULT NULL,
   `password` varchar(50) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入一些测试数据:

1.2 编写index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
    <title>一点教程网-标签示例</title>
</head>
<body>

<sql:setDataSource var="db" driver="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://localhost:3306/test"
                   user="root"  password="root"/>

<c:set var="userId" value="7"/>
<sql:update dataSource="${db}" var="count">
    DELETE FROM t_user WHERE id = ?
    <sql:param value="${userId}" />
</sql:update>

<sql:query dataSource="${db}" var="rs">
    SELECT * from t_user;
</sql:query>

<table border="1" width="100%">
    <tr>
        <th>编号</th>
        <th>用户名</th>
        <th>密码</th>
    </tr>
    <c:forEach var="user" items="${rs.rows}">
        <tr>
            <td><c:out value="${user.id}"/></td>
            <td><c:out value="${user.username}"/></td>
            <td><c:out value="${user.password}"/></td>
        </tr>
    </c:forEach>
</table>

</body>
</html>

1.3 运行测试

热门文章

优秀文章