sql:setDataSource标签用来设置数据库的数据源信息。可以使用
JNDI名来设置,也可以使用DriverManager参数来设置。使用语法为:
1、使用JDBC,建立数据库连接
<sql:setDataSource
dataSource=“dsName” driver=“driver” url=“datasource URL”
user=“user” password=“password”
[var=" varName “] [scope=”{page|request|session|application"}] />
2、使用已经存在的数据库连接
<sql:setDataSource dataSource=“dsName”
[var=“varName” ] [scope="{page|request|session|application"}] />
<%--
Document : jdbc
Created on : 2020-4-10, 15:41:32
Author : X
--%>
<%@ 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"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<sql:setDataSource var="testdb" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/testtable?useUnicode=true&characterEncoding=utf-8"
user="root" password="root"/>
<!--查询-->
<sql:query dataSource="${testdb}" var="rs">
SELECT * from testtable;
</sql:query>
<!--借助核心标签库将数据呈现:-->
<c:set var="11" value="3"/>
<sql:update dataSource="${testdb}" var="count">
DELETE FROM testtable WHERE Id = ?
<sql:param value="75" />
</sql:update>
<sql:update dataSource="${testdb}" var="result">
INSERT INTO testtable (id,name,address) VALUES (75, 'cjy', 'china');
</sql:update>
<table>
<c:forEach var="row" items="${rs.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.name}"/></td>
<td><c:out value="${row.address}"/></td>
</tr>
</c:forEach>
</table>
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签
---------------------------------------------------------------------------------------------
标签:
<sql:setDataSource> 指定数据源
<sql:query> 运行SQL查询语句
<sql:update> 运行SQL更新语句
<sql:param> 将SQL语句中的参数设为指定值
<sql:dateParam> 将SQL语句中的日期参数设为指定的java.util.Date 对象值
<sql:transaction> 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行
---------------------------------------------------------------------------------------------
===========================================================================
添加引用:
<%@ 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"%>
-------------------------------------------------------------------------------------
连接:
<sql:setDataSource var="db" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8"
user="root" password="root"/>
-------------------------------------------------------------------------------------
查询:
<sql:query dataSource="${db}" var="rs">
SELECT * from student;
</sql:query>
借助核心标签库将数据呈现:
<table>
<c:forEach var="row" items="${rs.rows}">
<tr>
<td><c:out value="${row.sno}"/></td>
<td><c:out value="${row.sname}"/></td>
</tr>
</c:forEach>
</table>
-------------------------------------------------------------------------------------
更新(插入数据):
<sql:update dataSource="${db}" var="result">
INSERT INTO websites (name,url,alexa,country) VALUES ('111', '111, 111, '111');
</sql:update>
-------------------------------------------------------------------------------------
删除数据:
<c:set var="11" value="3"/>
<sql:update dataSource="${db}" var="count">
DELETE FROM websites WHERE Id = ?
<sql:param value="${11}" />
</sql:update>
-------------------------------------------------------------------------------------
修改数据:
<c:set var="SiteId" value="3"/>
<sql:update dataSource="${db}" var="count">
UPDATE websites SET name = 'RUNOOB' WHERE Id = ?
<sql:param value="${SiteId}" />
</sql:update>