JSP JDBC 访问数据库
JSP 页面里可以使用 JDBC 访问数据库,进行一系列的增删改查工作
在这之前,我们假设你已经了解了 JDBC 应用程序的工作方式
因为我们使用的 MySQL 数据库,所以你可以访问 Java 基础教程 - Java MySQL 连接 学习如何设置相关驱动及配置
你可以访问下面地址下载 jar 包: mysql-connector-java-8.0.8-dmr.jar
在 Java 项目中,只需要在 Eclipse 中引入 mysql-connector-java-8.0.8-dmr.jar 就可以运行 java 项目
但是在 Eclipse web 项目中,当执行 Class.forName("om.mysql.jdbc.Driver") 时 不会去查找驱动的
所以本教程需要把 mysql-connector-java-8.0.8-dmr.jar 拷贝到 tomcat 下 lib 目录
创建测试数据
1. 在 MySQL 中创建 jsp_mysql 数据库
CREATE DATABASE jsp_mysql default character set utf8mb4 collate utf8mb4_unicode_ci;
2. 创建 site 数据表
CREATE TABLE `site` ( `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=1 DEFAULT CHARSET=utf8mb4;
3. 插入一些数据
INSERT INTO `site` VALUES ('1', '谷歌', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '简单教程', 'https://www.twle.cn', '10000', 'CN'), ('4', '微博', 'https://weibo.com/', '20', 'CN'), ('5', '脸书', 'https://www.facebook.com/', '3', 'USA');
数据表显示如下
JSP JDBC SELECT 操作
JDBC 驱动名及数据库 URL 数据库的用户名与密码,需要根据自己的设置 useUnicode=true&characterEncoding=utf-8 防止中文乱码
这个范例演示了如何使用JSTL sql 标签来运行 SQL SELECT 语句
webapp/jsp_jdbc_select.jsp
<%@ 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"%> <!DOCTYPE html> <meta charset="utf-8"> <title>JSP JDBC SELECT 操作 - JSP 基础教程 | 简单教程(www.twle.cn)</title> <!-- JDBC 驱动名及数据库 URL 数据库的用户名与密码,需要根据自己的设置 useUnicode=true&characterEncoding=utf-8 防止中文乱码 --> <style> table { border-collapse: collapse; } table,th,td {border:1px solid #ddd;} th,td {padding:5px 10px;text-align: left} </style> <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/jsp_mysql?useUnicode=true&characterEncoding=utf-8" user="root" password=""/> <sql:query dataSource="${snapshot}" var="result"> SELECT * from site; </sql:query> <table> <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> <p>JSP JDBC SELECT 操作 - JSP 基础教程 | 简单教程(www.twle.cn)</p>
在浏览器上输入 http://localhost:8080/jsp/jsp_jdbc_select.jsp 显示结果如下
更多 JSP JDBC 操作
操作 | 说明 |
---|---|
JSP JDBC SELECT | JSP JDBC 访问 MySQL 并使用 SELECT 查询站点数据 |
JSP JDBC INSERT | JSP JDBC 访问 MySQL 并使用 INSERT 插入站点数据 |
JSP JDBC UPDATE | JSP JDBC 访问 MySQL 并使用 UPDATE 更新站点数据 |
JSP JDBC DELETE | JSP JDBC 访问 MySQL 并使用 DELETE 删除站点数据 |