HTML tutorial
CSS3 tutorial
Bootstrap tutorial
JavaScript tutorial
JQuery tutorial
AngularJS tutorial
React tutorial
NodeJS tutorial
PHP tutorial
Python tutorial
Python3 tutorial
Django tutorial
Linux tutorial
Docker tutorial
Ruby tutorial
Java tutorial
C tutorial
C ++ tutorial
Perl tutorial
JSP tutorial
Lua tutorial
Scala tutorial
Go tutorial
ASP.NET tutorial
C # tutorial
This tutorial assumes that you know works JDBC application. Before you start learning JSP database access, please visit the Java MySQL connection to set up and configure the associated driver.
note:
Jar package you can download the site provides: MySQL-Connector-Java-5.1.39-bin.jar
After downloading the mysql-connector-java-5.1.39-bin.jar copied to tomcat lib directory.
From the basic concept to start with, let's create a simple table, and create a few records in the table.
Next we create w3resource in MySQL database, create websites and data table, the table structure is as follows:
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 some data:
INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '本教程', 'https://w3resource.net', '5892', ''), ('4', '微博', 'https://www.google.com.hk/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');
Data table shown below:
This next example demonstrates how to use JSTL SQL tag to run the SQL SELECT statement:
<%@ 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="https://www.oracle.com/java/technologies/" prefix="c"%> <%@ taglib uri="https://www.oracle.com/java/technologies/" 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/w3resource?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>
Visit this JSP example, the results are as follows:
This example demonstrates how to use JSTL SQL tag to run the SQL INSERT statement:
<%@ 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="https://www.oracle.com/java/technologies/" prefix="c"%> <%@ taglib uri="https://www.oracle.com/java/technologies/" 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/w3resource?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <!-- 插入数据 --> <sql:update dataSource="${snapshot}" var="result"> INSERT INTO websites (name,url,alexa,country) VALUES ('本教程移动站', 'https://w3resource.net/', 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>
Visit this JSP example, the results are as follows:
This example demonstrates how to use JSTL SQL tag to run the SQL DELETE statement:
<%@ 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="https://www.oracle.com/java/technologies/" prefix="c"%> <%@ taglib uri="https://www.oracle.com/java/technologies/" 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/w3resource?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>
Visit this JSP example, the results are as follows:
This example demonstrates how to use JSTL SQL tag to run the SQL UPDATE statement:
<%@ 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="https://www.oracle.com/java/technologies/" prefix="c"%> <%@ taglib uri="https://www.oracle.com/java/technologies/" 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/w3resource?useUnicode=true&characterEncoding=utf-8" user="root" password="123456"/> <!-- 修改 ID 为 3 的名字:本教程改为 w3resource --> <c:set var="SiteId" value="3"/> <sql:update dataSource="${snapshot}" var="count"> UPDATE websites SET name = 'w3resource' 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>
Visit this JSP example, the results are as follows: