转自:https://www.yiibai.com/jsp/jsp_mysql.html

在本章中,我们将讨论如何使用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');
SQL

打开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>
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>
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>
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>
HTML

在编写上面示例代码后,运行项目,打开浏览器访问URL: http://localhost:8080/JspMySQL/update.jsp , 应该会看到以下结果 -

JSP+MySQL实例的更多相关文章

  1. 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本

    主要对上一篇hibernate与Spring进行整合改进 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 bean-base.xml <?xml versio ...

  2. 如何安全地关闭MySQL实例

    如何安全地关闭MySQL实例 转载自:http://imysql.com/2014/08/13/mysql-faq-howto-shutdown-mysqld-fulgraceful.shtml 本文 ...

  3. CentOS 7.0 启动多个MySQL实例(mysql-5.7.21)

    Linux系统:CentOS-7.0 MySQL版本:5.7.21 Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我 ...

  4. Windows下多个Mysql实例配置主从(转)

    https://www.cnblogs.com/jpfss/p/8143720.html 序:     网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文 ...

  5. 同一台windows下配置安装多个mysql实例,实现主从同步

    一.安装多个mysql 参见: https://blog.csdn.net/wrh_csdn/article/details/80198795 https://www.cnblogs.com/qjoa ...

  6. 在docker中运行mysql实例

    Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化 ...

  7. (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL

    (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL PS:这个是懒人yum快速安装法,用于开发和测试环境很方便,用于没有特殊要求的生产环境也可以.特 ...

  8. 项目总结01:JSP mysql SpringMvc下中国省市县三级联动下拉框

    JSP mysql SpringMvc下中国省市县三级联动下拉框 关键词 JSP  mysql数据库  SpringMvc  ajax   Controller层  Service层  中国地区  省 ...

  9. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

随机推荐

  1. mysql与时间有关的查询

    date(str)函数可以返回str中形如"1997-05-26"格式的日期,str要是合法的日期的表达式,如2008-08-08 22:20:46 时间是可以比较大小的,例如: ...

  2. jQuery的切换函数(hover,toggle)

    1.hover:(鼠标悬停与离开事件) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态. 当鼠标移动到一个匹配的 ...

  3. eclipse中maven插件上传项目jar包到私服

    我们知道,每一个公司都会有自己的工具包或公共包.这样的包就能够上传到公司的maven私服,就不用每一个人都去同步开发包了. 那么,怎么把本地项目打包并公布到私服呢?依照例如以下步骤就能够轻松完毕. 1 ...

  4. Meteor Blaze

    Blaze是Meteor 软件包用于构建现场反应模板. Render方法 这种方法被用于绘制模板到DOM.首先,我们将创建 myNewTemplate 之后渲染. 我们增加 myContainer 这 ...

  5. Angular2.x-服务

    heroes之旅HeroesComponent目前正在获取并显示虚假数据. 在本教程重构之后,HeroesComponent将会精益求精并专注于支持视图.用模拟服务进行单元测试也会更容易. 为什么服务 ...

  6. 10 逻辑完善以及bug修复

    进行到这里,我们应用开发已经接近尾声,我这里基本就是应用开发的记录过程,讲解的东西很少,有问题可以在评论区讨论呦.下面进入最后调整的阶段. 预览我们的应用,会发现首页的职位列表,也会显示收藏的星星图标 ...

  7. JQuery实现表格行的上移、下移、删除、增加

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%&g ...

  8. JavaScript学习14:表单处理

    什么是表单? 在HTML中,表单是由<form>元素来表示的.而在JavaScript中,表单相应的则是HTMLFormElement类型.HTMLFormElement继承了HTMLEl ...

  9. 清理一下电脑垃圾,打开Eclipse发现左边的所有项目消失了

    使用360清理一下电脑垃圾,打开Eclipse发现左边的所有项目消失了,但在相应的workspace能够找到项目,这个问题已经是第三次遇到了(预计是被360清理掉Eclipse的一些部署或配置文件所导 ...

  10. 2016/3/18 ①PHP基础 ② PHP函数 ③其他函数(随机数、关于日期) ④正则表达式 ⑤字符串处理

    一.PHP基础 1,标记和注释 ①<?php?> ②单行注释// 多行注释/**    */2, 输出语句 ①echo输出 echo可以输出多个字符串,用逗号隔开. ②print输出 pr ...