首页 > 编程 > JSP > 正文

JSP中操作数据库的常用SQL标签用法总结

2020-07-27 21:28:04
字体:
来源:转载
供稿:网友

<sql:setDataSource>
标签设定数据源

语法结构:

复制代码 代码如下:

    <sql:setDataSource url="jdbcUrl" driver="driverClassName" user="userName" password="password" [var = "varName"][scope="{page | request | session | application}"] />


<sql:update>
标签进行增删改的操作

第一种格式:

复制代码 代码如下:

<sql:update sql="sqlUpdate" [var="varName"] [scope="{page|request|session|application}"][dataSource="dataSource"] />

eg:

<%@ page contentType="text/html;charset=GBK"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>测试标签</title></head><sql:setDataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" user="liky" password="redhat" url="jdbc:sqlserver://localhost:1433;DatabaseName=csu" var="db" /><body><!-- 这里使用update标签创建一个表 --><sql:transaction dataSource="${db}"><sql:update var="update" scope="page"> if exists(select 1 from sysobjects where name='tmp') drop table tmp  create table tmp ( id int identity(1,1) primary key, name varchar(20), pass varchar(20) )</sql:update></sql:transaction><!-- 这里使用update标签修改表的结构,添加一个列 --><sql:transaction dataSource="${db}"><sql:update var="update" scope="page"> alter table tmp add age tinyint</sql:update></sql:transaction><br></body></html>

第二种格式是将SQL语句作为本体内容

<%@page language="java" contentType="text/html;charset=gb2312"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %><!DOCTYPE html><html>  <head>    <title>Update标签添加数据</title>  </head>  <body>    <%-- 指定数据库链接URL,JDBC驱动,用户名和密码 --%>    <sql:setDataSource url="jdbc:mysql://localhost:3306/javaweb" driver="com.mysql.jdbc.Driver"        user="root" password="zhangda890126;;"/>    <%-- 通过update标签添加数据 --%>    <sql:update>      INSERT INTO user(userid,username,password) VALUES(null,"admin1","root1");    </sql:update>  </body></html>



<sql:query>标签
用来查询数据库中的数据
第一种格式:

复制代码 代码如下:

<sql:query sql="sqlQuery" [var="varName"] [scope="{page|request|session|application}"][dataSource="dataSource"]maxRows="" startRow="startRow" />

第二种格式是将SQL语句作为本体内容

<%@page language="java" contentType="text/html;charset=gb2312"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE html><html>  <head>    <title>Query标签的使用</title>  </head>  <body>    <%-- 指定数据库链接URL,JDBC驱动,用户名和密码 --%>    <sql:setDataSource url="jdbc:mysql://localhost:3306/javaweb" driver="com.mysql.jdbc.Driver"        user="root" password="zhangda890126;;"/>    <%-- 通过update标签添加数据 --%>    <sql:query var="result">      SELECT * FROM user    </sql:query>    <%-- 显示所有的数据 --%>    <center>      <h3>查询所有的数据</h3>      <table border="1">        <tr>          <td>userID</td>          <td>userName</td>          <td>password</td>        </tr>        <%-- 使用foreach循环输出所有的值 --%>        <c:forEach items="${result.rows}" var = "row">          <tr>            <td>${row.userid}</td>            <td>${row.username}</td>            <td>${row.password}</td>          </tr>        </c:forEach>      </table>    </center>  </body></html>


<sql:param>标签和<sql:dateParam>标签
<sql:param>有两种格式即:带有本体内容和不带本体内容的

不带本体内容的格式为

<sql:param value="value" />

带本体内容的格式为

<sql:param>本体内容</sql:param>

<sql:dateParam>标签的格式为:

<sql:dateParam value="value" [type="{timestamp|time|date}"] />

如果参数与时间和日期有关的话就使用<sql:dateParam>标签


<sql:transaction>标签
提供存取数据库时的一种安全机制(事物处理安全机制)

格式为:

<sql:transaction [dataSource="dataSource"] [isolation="read_committed|read_uncomited|repeatabl_read|serializable"]><sql:update> or <sql:query></sql:transaction> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表