<sql:update>
标签执行不返回数据的SQL语句(非查询语句); 例如:INSERT,UPDATE或DELETE语句。
属性
<sql:update>
标签具有以下属性 -
属性 | 描述 | 必需 | 默认 |
---|---|---|---|
sql |
要执行的SQL命令(不返回结果集) | 否 | 主体 |
dataSource |
要使用的数据库连接(覆盖默认值) | 否 | 默认数据库 |
var |
用于表示数据库查询结果变量的名称 | 否 | 默认设置 |
scope |
用于存储受影响行计数的变量范围 | 否 | page |
示例
在这个示例中,我们从基础概念和操作开始,在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:update
来执行INSERT
,UPDATE
和DELETE
语句的JSP代码,文件:sql_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>sql:update标签示例</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<h2>sql:update标签示例</h2>
<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:update dataSource="${connection}" var="count">
UPDATE employees SET name='李家诚' WHERE id=1;
</sql:update>
<!-- 执行删除语句 -->
<sql:update dataSource="${connection}" var="count">
DELETE FROM employees WHERE id=10;
</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>
注意:需要将MySQL的连接驱动程序:mysql-connector-java-5.1.40-bin.jar放入到{Webpp}/WEB-INFO/lib目录下。
运行上述项目代码,得到以下结果如下 -
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!