JSP+MySQL实例
在本章中,我们将讨论如何使用JSP访问数据库(这里以MySQL数据库为例)。并假设您对JDBC应用程序的工作方式有很好的了解。在开始通过JSP进行数据库访问之前,请确保您具有适当的JDBC环境设置以及安装好MySQL数据库。
学习本教程的前置知识 -
- MySQL数据安装和简单操作
- JDBC连接到MySQL
如果没有学习过MySQL,请参考:MySQL教程 。有关如何使用JDBC及其环境设置访问数据库的更多详细信息,可以参阅JDBC教程。
这里,我们从基本概念开始,首先在MySQL的testdb
数据库中创建一个表:employees
,并在该表中创建一些记录,参考以下SQL语句:
USE testdb; DROP TABLE IF EXISTS `employees`; CREATE TABLE `employees` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL DEFAULT '', `age` int(3) unsigned NOT NULL DEFAULT '0', `education` varchar(32) DEFAULT '' COMMENT '学历', `address` varchar(254) DEFAULT NULL, `salary` float(8,2) unsigned DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of employees -- ---------------------------- INSERT INTO `employees` VALUES ('1', '李小春', '23', '其它', '海口市人民大道1800号', '8900.00'); INSERT INTO `employees` VALUES ('2', '张辉', '28', '本科', '广州天河区珠村市场', '15800.98'); INSERT INTO `employees` VALUES ('3', '林贤弟', '29', '博士', '广州白云区龙塘村120号', '18990.99'); INSERT INTO `employees` VALUES ('4', '王小简', '23', '本科', '海口人民大道1688号', '899.98'); INSERT INTO `employees` VALUES ('5', '蔡世杰', '27', '专科', '上海市宝山区联杨路2211弄26号', '15800.00'); INSERT INTO `employees` VALUES ('6', '张承龙', '30', '本科', '上海市虹口区虬江路522号', '23000.00'); INSERT INTO `employees` VALUES ('7', '李林奕', '26', '本科', '上海市徐汇区漕宝路440号', '32600.00'); INSERT INTO `employees` VALUES ('8', '刘皓轩', '28', '研究生', '上海松江九亭立同商务广场', '29000.00'); INSERT INTO `employees` VALUES ('9', '周佳豪', '36', '博士', '深圳市宝安区沙井街道办107国道富达工业区B栋', '48000.00'); INSERT INTO `employees` VALUES ('10', '陈聪', '23', '本科', '福田区文蔚大厦19层', '9800.00');
打开Eclipse创建一个动态Web项目:JspMySQL, 其项目结构如下所示 -
注意:需要将MySQL的连接驱动程序:mysql-connector-java-5.1.40-bin.jar放入到{WebApp}/WEB-INFO/lib目录下。
1. 查询数据示例
以下示例显示了如何在JSP编程中使用JTSL
执行SQL SELECT语句。
文件:select.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP+MySQL查询数据</title> </head> <body> <div style="margin: auto; width: 80%"> <sql:setDataSource var="connection" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/testdb?useSSL=false&characterEncoding=utf8" user="root" password="123456" /> <sql:query dataSource="${connection}" var="result"> SELECT * from employees; </sql:query> <table border="1" width="100%"> <tr> <th>编号</th> <th>名字</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.salary}" /></td> <td><c:out value="${row.address}" /></td> </tr> </c:forEach> </table> </div> </body> </html>
在编写上面示例代码后,运行项目,打开浏览器访问URL: http://localhost:8080/JspMySQL/select.jsp
, 应该会看到以下结果 -
2. 插入数据示例
以下示例显示了如何在JSP编程中使用JTSL
执行SQL INSERT语句。
文件:insert.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP+MySQL插入数据</title> </head> <body> <div style="margin: auto; width: 80%"> <sql:setDataSource var="connection" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/testdb?useSSL=false&characterEncoding=utf8" user="root" password="123456" /> <sql:update dataSource="${connection}" var="count"> INSERT INTO employees(`name`,`age`,`education`,`address`,`salary`) VALUES ('李路路', 24, '本科', '北京朝阳区', 13600); </sql:update> <sql:query dataSource="${connection}" var="result"> SELECT * from employees; </sql:query> <table border="1" width="100%"> <tr> <th>编号</th> <th>名字</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.salary}" /></td> <td><c:out value="${row.address}" /></td> </tr> </c:forEach> </table> </div> </body> </html>
在编写上面示例代码后,运行项目,打开浏览器访问URL: http://localhost:8080/JspMySQL/insert.jsp
, 应该会看到以下结果 -
3. 删除数据示例
以下示例显示了如何在JSP编程中使用JTSL
执行SQL DELETE语句。
文件:delete.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP+MySQL删除数据</title> </head> <body> <div style="margin: auto; width: 80%"> <sql:setDataSource var="connection" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/testdb?useSSL=false&characterEncoding=utf8" user="root" password="123456" /> <!-- 执行删除语句 --> <sql:update dataSource="${connection}" var="count"> DELETE FROM employees WHERE id>5; </sql:update> <sql:query dataSource="${connection}" var="result"> SELECT * from employees; </sql:query> <table border="1" width="100%"> <tr> <th>编号</th> <th>名字</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.salary}" /></td> <td><c:out value="${row.address}" /></td> </tr> </c:forEach> </table> </div> </body> </html>
在编写上面示例代码后,运行项目,打开浏览器访问URL: http://localhost:8080/JspMySQL/delete.jsp
, 应该会看到以下结果 -
4. 更新数据示例
以下示例显示了如何在JSP编程中使用JTSL
执行SQL UPDATE语句。
文件:update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP+MySQL更新数据</title> </head> <body> <div style="margin: auto; width: 80%"> <sql:setDataSource var="connection" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/testdb?useSSL=false&characterEncoding=utf8" user="root" password="123456" /> <!-- 执行更新语句 --> <c:set var = "empId" value = "1"/> <sql:update dataSource="${connection}" var="count"> UPDATE employees SET name='李家诚' WHERE id=? <sql:param value = "${empId}" /> </sql:update> <c:set var = "empId" value = "2"/> <sql:update dataSource = "${connection}" var = "count"> UPDATE employees SET salary = '19999.99' WHERE id=? <sql:param value = "${empId}" /> </sql:update> <sql:query dataSource="${connection}" var="result"> SELECT * from employees; </sql:query> <table border="1" width="100%"> <tr> <th>编号</th> <th>名字</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.salary}" /></td> <td><c:out value="${row.address}" /></td> </tr> </c:forEach> </table> </div> </body> </html>
在编写上面示例代码后,运行项目,打开浏览器访问URL: http://localhost:8080/JspMySQL/update.jsp
, 应该会看到以下结果 -
上一篇:Jstl教程
下一篇:JSP处理XML数据
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王