JSP多条SQL语句同时执行的方法
2023-06-13 09:14:08 时间
con.setAutoCommit(true);//设为true,每次executeUpdate将立刻被执行
sql="insertintotable1(lable1)values("001")";
rs=stmt.executeUpdate(sql);
sql="insertintotable2(lable2)values("002")";
rs=stmt.executeUpdate(sql);
这是一段基本的SQL插入语句,分别将两个值插入到两个表中,上面的程序已经能够完成这一需求,但是实际操作中并不建议这样写,原因如下:
1、程序顺序执行,假如第一条语句入库了,后面一条发生了不可预知的错误而入库失败,
这样的情况是不被允许的,如果其中一条出错,就应该全部都不予执行。
2、这里是连续插入2条数据,感觉连续提交两次很正常,但是假如我们扩大这个问题,连续插入1000
条数据,每次都自动的COMMIT了,这对服务器性能来说是一种浪费。
因此我们遇到多条SQL语句需要同时执行,就应该把程序改为:
con.setAutoCommit(false);//设为false,每次executeUpdate将不会立刻提交,而是等待commit();
sql="insertintotable1(lable1)values("001")";
rs=stmt.executeUpdate(sql);
sql="insertintotable2(lable2)values("002")";
rs=stmt.executeUpdate(sql);
con.commit();
首先把setAuoCommit()设为false,不自动执行。然后正常入库,当所有需要入库的语句都预执行了,然后在进行commit();这跟前面的代码有什么不一样的地方呢?
1、假如两条语句中任意一条出问题,两条语句都不会被执行,但是同样可以用catch来获取出错提示
2、对于需要同时提交1000条记录,我们可以每100条,进行一次commit();这样只需要执行10次提交运行速度会有明显的提升。
相关文章
- jsp常用的struts标签总结详解编程语言
- JSP application.getMajorVersion()方法:返回服务器支持的 Servlet API 最大版本号
- JSP application.getAttribute()方法:获取属性值
- JSP Exception.setStackTrace()方法:设置堆栈跟踪元素
- JSP Out.close()方法:关闭JSP的输出流
- JSP Out.print()方法:输出数据到JSP页面
- JSP Response.addIntHeade()方法:添加对应名称的int属性
- JSP Response.sendError()方法:向客户端发送错误信息
- JSP JSTL <sql:query>标签:通过SQL语句查询
- JSP实现图片上传存入MySQL(jsp上传图片mysql)
- JSP Request.getContentLength()方法:获取请求的Body的长度
- MySQL数据库的SQL导入方法简介(sql导入mysql数据库)
- MySQL 中 SQL 比较详解常用语句及其实现方法(mysql中sql比较)
- JSP实现Oracle数据库调用技术(jsp 调用oracle)
- 深入探讨MySQL中上下级SQL语句的实现方法(mysql 上下级sql)
- 使用Oracle SQL处理文本数据的方法(oracle sql文本)
- 使用Oracle JSP工具构建稳健的WEB应用(oracle jsp工具)
- jsp文件操作之读取篇
- JSP由浅入深(12)——表单编辑
- 使用JSP读取客户端信息
- JSP页面缓存cache技术--浏览器缓存介绍及实现方法
- 如何使用JSP访问MySQL数据库
- ie9下alert阻挡jsp渲染ie8下没问题
- jsp中使用jstl导入html乱码问题解决方法