“JSP 连接数据库”的版本间差异

本页内容
(创建页面,内容为“{{DISPLAYTITLE:JSP 连接数据库}}25 = JSP 连接数据库 = 本教程假定您已经了解了 JDBC 应用程序的工作方式。在您开始学习 JSP 数据库访问之前,请访问 [http://www.xiaobai.wang/java/java-mysql-connect.html Java MySQL 连接] 来设置相关驱动及配置。 <blockquote>'''注意:''' 你可以下载本站提供的 jar 包: * '''MySQL 5 版本:[http://static.xiaobai.wang/download/mysql-connec…”)
 
Neo讨论 | 贡献
无编辑摘要
 
第21行: 第21行:
加载驱动与连接数据库方式如下:
加载驱动与连接数据库方式如下:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
&lt;sql:setDataSource var=&quot;snapshot&quot; driver=&quot;com.mysql.cj.jdbc.Driver&quot;
<sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"
     url=&quot;jdbc:mysql://localhost:3306/XiaoBai.Wang?useSSL=false&amp;serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=utf-8
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
     user=&quot;root&quot; password=&quot;12345&quot;/&gt;
     user="root" password="12345"/>
</pre></blockquote>
</sample></blockquote>
从基本概念下手,让我们来创建一个简单的表,并在表中创建几条记录。
从基本概念下手,让我们来创建一个简单的表,并在表中创建几条记录。


第32行: 第32行:
接下来我们在 MySQL 中创建 XiaoBai.Wang 数据库,并创建 websites 数据表,表结构如下:
接下来我们在 MySQL 中创建 XiaoBai.Wang 数据库,并创建 websites 数据表,表结构如下:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
CREATE TABLE `websites` (
CREATE TABLE `websites` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `id` int(11) NOT NULL AUTO_INCREMENT,
第41行: 第41行:
   PRIMARY KEY (`id`)
   PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
</pre>
</sample>
插入一些数据:
插入一些数据:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '小白教程', 'http://www.xiaobai.wang', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '小白教程', 'http://www.xiaobai.wang', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
</pre>
</sample>
数据表显示如下:
数据表显示如下:


第53行: 第53行:
接下来的这个例子告诉我们如何使用JSTL SQL标签来运行SQL SELECT语句:
接下来的这个例子告诉我们如何使用JSTL SQL标签来运行SQL SELECT语句:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
&lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
<%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding=&quot;UTF-8&quot;%&gt;
     pageEncoding="UTF-8"%>
&lt;%@ page import=&quot;java.io.*,java.util.*,java.sql.*&quot;%&gt;
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
&lt;%@ page import=&quot;javax.servlet.http.*,javax.servlet.*&quot; %&gt;
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/core&quot; prefix=&quot;c&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/sql&quot; prefix=&quot;sql&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>


&lt;html&gt;
<html>
&lt;head&gt;
<head>
&lt;title&gt;SELECT 操作&lt;/title&gt;
<title>SELECT 操作</title>
&lt;/head&gt;
</head>
&lt;body&gt;
<body>
&lt;!--
<!--
JDBC 驱动名及数据库 URL
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&amp;characterEncoding=utf-8 防止中文乱码
useUnicode=true&characterEncoding=utf-8 防止中文乱码
  --&gt;
  -->
&lt;sql:setDataSource var=&quot;snapshot&quot; driver=&quot;com.mysql.jdbc.Driver&quot;
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url=&quot;jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&amp;characterEncoding=utf-8&quot;
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user=&quot;root&quot; password=&quot;123456&quot;/&gt;
     user="root" password="123456"/>


&lt;sql:query dataSource=&quot;${snapshot}&quot; var=&quot;result&quot;&gt;
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
SELECT * from websites;
&lt;/sql:query&gt;
</sql:query>
&lt;h1&gt;JSP 数据库实例 - 小白教程&lt;/h1&gt;
<h1>JSP 数据库实例 - 小白教程</h1>
&lt;table border=&quot;1&quot; width=&quot;100%&quot;&gt;
<table border="1" width="100%">
&lt;tr&gt;
<tr>
   &lt;th&gt;ID&lt;/th&gt;
   <th>ID</th>
   &lt;th&gt;站点名&lt;/th&gt;
   <th>站点名</th>
   &lt;th&gt;站点地址&lt;/th&gt;
   <th>站点地址</th>
&lt;/tr&gt;
</tr>
&lt;c:forEach var=&quot;row&quot; items=&quot;${result.rows}&quot;&gt;
<c:forEach var="row" items="${result.rows}">
&lt;tr&gt;
<tr>
   &lt;td&gt;&lt;c:out value=&quot;${row.id}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.id}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.name}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.name}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.url}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.url}"/></td>
&lt;/tr&gt;
</tr>
&lt;/c:forEach&gt;
</c:forEach>
&lt;/table&gt;
</table>


&lt;/body&gt;
</body>
&lt;/html&gt;
</html>
</pre>
</sample>
访问这个JSP例子,运行结果如下:
访问这个JSP例子,运行结果如下:


第103行: 第103行:
这个例子告诉我们如何使用JSTL SQL标签来运行SQL INSERT语句:
这个例子告诉我们如何使用JSTL SQL标签来运行SQL INSERT语句:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
&lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
<%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding=&quot;UTF-8&quot;%&gt;
     pageEncoding="UTF-8"%>
&lt;%@ page import=&quot;java.io.*,java.util.*,java.sql.*&quot;%&gt;
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
&lt;%@ page import=&quot;javax.servlet.http.*,javax.servlet.*&quot; %&gt;
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/core&quot; prefix=&quot;c&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/sql&quot; prefix=&quot;sql&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>


&lt;html&gt;
<html>
&lt;head&gt;
<head>
&lt;title&gt;SELECT 操作&lt;/title&gt;
<title>SELECT 操作</title>
&lt;/head&gt;
</head>
&lt;body&gt;
<body>
&lt;!--
<!--
JDBC 驱动名及数据库 URL
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&amp;characterEncoding=utf-8 防止中文乱码
useUnicode=true&characterEncoding=utf-8 防止中文乱码
  --&gt;
  -->
&lt;sql:setDataSource var=&quot;snapshot&quot; driver=&quot;com.mysql.jdbc.Driver&quot;
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url=&quot;jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&amp;characterEncoding=utf-8&quot;
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user=&quot;root&quot; password=&quot;123456&quot;/&gt;
     user="root" password="123456"/>
&lt;!--
<!--
插入数据
插入数据
  --&gt;
  -->
&lt;sql:update dataSource=&quot;${snapshot}&quot; var=&quot;result&quot;&gt;
<sql:update dataSource="${snapshot}" var="result">
INSERT INTO websites (name,url,alexa,country) VALUES ('小白教程移动站', 'http://m.xiaobai.wang', 5093, 'CN');
INSERT INTO websites (name,url,alexa,country) VALUES ('小白教程移动站', 'http://m.xiaobai.wang', 5093, 'CN');
&lt;/sql:update&gt;
</sql:update>
&lt;sql:query dataSource=&quot;${snapshot}&quot; var=&quot;result&quot;&gt;
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
SELECT * from websites;
&lt;/sql:query&gt;
</sql:query>
&lt;h1&gt;JSP 数据库实例 - 小白教程&lt;/h1&gt;
<h1>JSP 数据库实例 - 小白教程</h1>
&lt;table border=&quot;1&quot; width=&quot;100%&quot;&gt;
<table border="1" width="100%">
&lt;tr&gt;
<tr>
   &lt;th&gt;ID&lt;/th&gt;
   <th>ID</th>
   &lt;th&gt;站点名&lt;/th&gt;
   <th>站点名</th>
   &lt;th&gt;站点地址&lt;/th&gt;
   <th>站点地址</th>
&lt;/tr&gt;
</tr>
&lt;c:forEach var=&quot;row&quot; items=&quot;${result.rows}&quot;&gt;
<c:forEach var="row" items="${result.rows}">
&lt;tr&gt;
<tr>
   &lt;td&gt;&lt;c:out value=&quot;${row.id}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.id}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.name}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.name}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.url}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.url}"/></td>
&lt;/tr&gt;
</tr>
&lt;/c:forEach&gt;
</c:forEach>
&lt;/table&gt;
</table>


&lt;/body&gt;
</body>
&lt;/html&gt;
</html>
</pre>
</sample>
访问这个JSP例子,运行结果如下:
访问这个JSP例子,运行结果如下:


第158行: 第158行:
这个例子告诉我们如何使用JSTL SQL标签来运行SQL DELETE语句:
这个例子告诉我们如何使用JSTL SQL标签来运行SQL DELETE语句:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
&lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
<%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding=&quot;UTF-8&quot;%&gt;
     pageEncoding="UTF-8"%>
&lt;%@ page import=&quot;java.io.*,java.util.*,java.sql.*&quot;%&gt;
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
&lt;%@ page import=&quot;javax.servlet.http.*,javax.servlet.*&quot; %&gt;
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/core&quot; prefix=&quot;c&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/sql&quot; prefix=&quot;sql&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>


&lt;html&gt;
<html>
&lt;head&gt;
<head>
&lt;title&gt;SELECT 操作&lt;/title&gt;
<title>SELECT 操作</title>
&lt;/head&gt;
</head>
&lt;body&gt;
<body>
&lt;!--
<!--
JDBC 驱动名及数据库 URL
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&amp;characterEncoding=utf-8 防止中文乱码
useUnicode=true&characterEncoding=utf-8 防止中文乱码
  --&gt;
  -->
&lt;sql:setDataSource var=&quot;snapshot&quot; driver=&quot;com.mysql.jdbc.Driver&quot;
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url=&quot;jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&amp;characterEncoding=utf-8&quot;
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user=&quot;root&quot; password=&quot;123456&quot;/&gt;
     user="root" password="123456"/>


&lt;!--
<!--
删除 ID 为 11 的数据
删除 ID 为 11 的数据
  --&gt;
  -->
&lt;sql:update dataSource=&quot;${snapshot}&quot; var=&quot;count&quot;&gt;
<sql:update dataSource="${snapshot}" var="count">
   DELETE FROM websites WHERE Id = ?
   DELETE FROM websites WHERE Id = ?
   &lt;sql:param value=&quot;${11}&quot; /&gt;
   <sql:param value="${11}" />
&lt;/sql:update&gt;
</sql:update>


&lt;sql:query dataSource=&quot;${snapshot}&quot; var=&quot;result&quot;&gt;
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
SELECT * from websites;
&lt;/sql:query&gt;
</sql:query>
&lt;h1&gt;JSP 数据库实例 - 小白教程&lt;/h1&gt;
<h1>JSP 数据库实例 - 小白教程</h1>
&lt;table border=&quot;1&quot; width=&quot;100%&quot;&gt;
<table border="1" width="100%">
&lt;tr&gt;
<tr>
   &lt;th&gt;ID&lt;/th&gt;
   <th>ID</th>
   &lt;th&gt;站点名&lt;/th&gt;
   <th>站点名</th>
   &lt;th&gt;站点地址&lt;/th&gt;
   <th>站点地址</th>
&lt;/tr&gt;
</tr>
&lt;c:forEach var=&quot;row&quot; items=&quot;${result.rows}&quot;&gt;
<c:forEach var="row" items="${result.rows}">
&lt;tr&gt;
<tr>
   &lt;td&gt;&lt;c:out value=&quot;${row.id}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.id}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.name}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.name}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.url}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.url}"/></td>
&lt;/tr&gt;
</tr>
&lt;/c:forEach&gt;
</c:forEach>
&lt;/table&gt;
</table>


&lt;/body&gt;
</body>
&lt;/html&gt;
</html>
</pre>
</sample>
访问这个JSP例子,运行结果如下:
访问这个JSP例子,运行结果如下:


第216行: 第216行:
这个例子告诉我们如何使用JSTL SQL标签来运行SQL UPDATE语句:
这个例子告诉我们如何使用JSTL SQL标签来运行SQL UPDATE语句:


<pre>
<sample title="" desc="" lang="jsp" hererun="1">
&lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot;
<%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding=&quot;UTF-8&quot;%&gt;
     pageEncoding="UTF-8"%>
&lt;%@ page import=&quot;java.io.*,java.util.*,java.sql.*&quot;%&gt;
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
&lt;%@ page import=&quot;javax.servlet.http.*,javax.servlet.*&quot; %&gt;
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/core&quot; prefix=&quot;c&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
&lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/sql&quot; prefix=&quot;sql&quot;%&gt;
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>


&lt;html&gt;
<html>
&lt;head&gt;
<head>
&lt;title&gt;SELECT 操作&lt;/title&gt;
<title>SELECT 操作</title>
&lt;/head&gt;
</head>
&lt;body&gt;
<body>
&lt;!--
<!--
JDBC 驱动名及数据库 URL
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&amp;characterEncoding=utf-8 防止中文乱码
useUnicode=true&characterEncoding=utf-8 防止中文乱码
  --&gt;
  -->
&lt;sql:setDataSource var=&quot;snapshot&quot; driver=&quot;com.mysql.jdbc.Driver&quot;
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url=&quot;jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&amp;characterEncoding=utf-8&quot;
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user=&quot;root&quot; password=&quot;123456&quot;/&gt;
     user="root" password="123456"/>


&lt;!--
<!--
修改 ID 为 3 的名字:小白教程改为 XiaoBai.Wang
修改 ID 为 3 的名字:小白教程改为 XiaoBai.Wang
  --&gt;
  -->
&lt;c:set var=&quot;SiteId&quot; value=&quot;3&quot;/&gt;
<c:set var="SiteId" value="3"/>


&lt;sql:update dataSource=&quot;${snapshot}&quot; var=&quot;count&quot;&gt;
<sql:update dataSource="${snapshot}" var="count">
   UPDATE websites SET name = 'XiaoBai.Wang' WHERE Id = ?
   UPDATE websites SET name = 'XiaoBai.Wang' WHERE Id = ?
   &lt;sql:param value=&quot;${SiteId}&quot; /&gt;
   <sql:param value="${SiteId}" />
&lt;/sql:update&gt;
</sql:update>


&lt;sql:query dataSource=&quot;${snapshot}&quot; var=&quot;result&quot;&gt;
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
SELECT * from websites;
&lt;/sql:query&gt;
</sql:query>
&lt;h1&gt;JSP 数据库实例 - 小白教程&lt;/h1&gt;
<h1>JSP 数据库实例 - 小白教程</h1>
&lt;table border=&quot;1&quot; width=&quot;100%&quot;&gt;
<table border="1" width="100%">
&lt;tr&gt;
<tr>
   &lt;th&gt;ID&lt;/th&gt;
   <th>ID</th>
   &lt;th&gt;站点名&lt;/th&gt;
   <th>站点名</th>
   &lt;th&gt;站点地址&lt;/th&gt;
   <th>站点地址</th>
&lt;/tr&gt;
</tr>
&lt;c:forEach var=&quot;row&quot; items=&quot;${result.rows}&quot;&gt;
<c:forEach var="row" items="${result.rows}">
&lt;tr&gt;
<tr>
   &lt;td&gt;&lt;c:out value=&quot;${row.id}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.id}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.name}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.name}"/></td>
   &lt;td&gt;&lt;c:out value=&quot;${row.url}&quot;/&gt;&lt;/td&gt;
   <td><c:out value="${row.url}"/></td>
&lt;/tr&gt;
</tr>
&lt;/c:forEach&gt;
</c:forEach>
&lt;/table&gt;
</table>


&lt;/body&gt;
</body>
&lt;/html&gt;
</html>
</pre>
</sample>
访问这个JSP例子,运行结果如下:
访问这个JSP例子,运行结果如下:

2022年8月17日 (三) 20:25的最新版本

JSP 连接数据库

本教程假定您已经了解了 JDBC 应用程序的工作方式。在您开始学习 JSP 数据库访问之前,请访问 Java MySQL 连接 来设置相关驱动及配置。

注意:

你可以下载本站提供的 jar 包:

下载后把 mysql-connector-java-<对应版本>-bin.jar 拷贝到 tomcat 下 lib 目录。

MySQL 8.0 以上版本的数据库连接有所不同:

  • 1、com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver。
  • MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。
  • 最后还需要设置 CST。

加载驱动与连接数据库方式如下:


示例

<sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
     user="root"  password="12345"/>

从基本概念下手,让我们来创建一个简单的表,并在表中创建几条记录。

创建测试数据

接下来我们在 MySQL 中创建 XiaoBai.Wang 数据库,并创建 websites 数据表,表结构如下:


示例

CREATE TABLE `websites` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
  `url` varchar(255) NOT NULL DEFAULT '',
  `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
  `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

插入一些数据:


示例

INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '小白教程', 'http://www.xiaobai.wang', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');

数据表显示如下:

SELECT操作

接下来的这个例子告诉我们如何使用JSTL SQL标签来运行SQL SELECT语句:


示例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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>SELECT 操作</title>
</head>
<body>
<!--
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&characterEncoding=utf-8 防止中文乱码
 -->
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user="root"  password="123456"/>

<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
</sql:query>
<h1>JSP 数据库实例 - 小白教程</h1>
<table border="1" width="100%">
<tr>
   <th>ID</th>
   <th>站点名</th>
   <th>站点地址</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.id}"/></td>
   <td><c:out value="${row.name}"/></td>
   <td><c:out value="${row.url}"/></td>
</tr>
</c:forEach>
</table>

</body>
</html>

访问这个JSP例子,运行结果如下:

INSERT操作

这个例子告诉我们如何使用JSTL SQL标签来运行SQL INSERT语句:


示例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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>SELECT 操作</title>
</head>
<body>
<!--
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&characterEncoding=utf-8 防止中文乱码
 -->
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user="root"  password="123456"/>
<!--
插入数据
 -->
<sql:update dataSource="${snapshot}" var="result">
INSERT INTO websites (name,url,alexa,country) VALUES ('小白教程移动站', 'http://m.xiaobai.wang', 5093, 'CN');
</sql:update>
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
</sql:query>
<h1>JSP 数据库实例 - 小白教程</h1>
<table border="1" width="100%">
<tr>
   <th>ID</th>
   <th>站点名</th>
   <th>站点地址</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.id}"/></td>
   <td><c:out value="${row.name}"/></td>
   <td><c:out value="${row.url}"/></td>
</tr>
</c:forEach>
</table>

</body>
</html>

访问这个JSP例子,运行结果如下:

DELETE操作

这个例子告诉我们如何使用JSTL SQL标签来运行SQL DELETE语句:


示例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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>SELECT 操作</title>
</head>
<body>
<!--
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&characterEncoding=utf-8 防止中文乱码
 -->
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user="root"  password="123456"/>

<!--
删除 ID 为 11 的数据
 -->
<sql:update dataSource="${snapshot}" var="count">
  DELETE FROM websites WHERE Id = ?
  <sql:param value="${11}" />
</sql:update>

<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
</sql:query>
<h1>JSP 数据库实例 - 小白教程</h1>
<table border="1" width="100%">
<tr>
   <th>ID</th>
   <th>站点名</th>
   <th>站点地址</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.id}"/></td>
   <td><c:out value="${row.name}"/></td>
   <td><c:out value="${row.url}"/></td>
</tr>
</c:forEach>
</table>

</body>
</html>

访问这个JSP例子,运行结果如下:

UPDATE操作

这个例子告诉我们如何使用JSTL SQL标签来运行SQL UPDATE语句:


示例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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>SELECT 操作</title>
</head>
<body>
<!--
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&characterEncoding=utf-8 防止中文乱码
 -->
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/XiaoBai.Wang?useUnicode=true&characterEncoding=utf-8"
     user="root"  password="123456"/>

<!--
修改 ID 为 3 的名字:小白教程改为 XiaoBai.Wang
 -->
<c:set var="SiteId" value="3"/>

<sql:update dataSource="${snapshot}" var="count">
  UPDATE websites SET name = 'XiaoBai.Wang' WHERE Id = ?
  <sql:param value="${SiteId}" />
</sql:update>

<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
</sql:query>
<h1>JSP 数据库实例 - 小白教程</h1>
<table border="1" width="100%">
<tr>
   <th>ID</th>
   <th>站点名</th>
   <th>站点地址</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.id}"/></td>
   <td><c:out value="${row.name}"/></td>
   <td><c:out value="${row.url}"/></td>
</tr>
</c:forEach>
</table>

</body>
</html>

访问这个JSP例子,运行结果如下:

此页面最后编辑于2022年8月17日 (星期三) 20:25。