JDBC批处理executeBatch

JDBC批处理executeBatch

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

JDBC运行SQL声明,有两个处理接口,一PreparedStatement,Statement,一般程序JDBC有多少仍然比较PreparedStatement

 

只要运行批处理,PreparedStatement少一点Statement

 

ps = conn.prepareStatement(sql);

for(int i = 0;i<10;i++){

   ps.setString(1,”1″);

//PreparedStatement批处理方式一

   ps.addBatch();

}

//PreparedStatement批处理方式二

ps.addBatch(“静态SQL”);

ps.executeBatch();

这个是正常运行的

 

但是把PreparedStatement放到里面就没效了,下面:

for(int i = 0;i<10;i++){

   ps = conn.prepareStatement(sql);

   ps.setString(1,”1″);

   ps.addBatch();

}

 

ps.executeBatch();

 

 

Statement适合循环赋值到sql,代码下面:

 

Statement st = conn.createStatement();

for(int i = 0;i<10;i++){

   st.addBatch(“静态sql……….”);

}

st.executeBatch();

这个是正常运行全部的语句

 

 

 

 

总结:造成这种原因是

Statement st = conn.createStatement();这里能够不放SQL语句

ps = conn.prepareStatement(sql);这个一定要放初始SQL语句

JDBC的批处理不能增加select语句,否则会抛异常:

java.sql.BatchUpdateException: Can not issue SELECT via executeUpdate().
  at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:1007)

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117784.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java卸载 安装错误_Java卸载后无法重新安装 提示已安装过[通俗易懂]

    java卸载 安装错误_Java卸载后无法重新安装 提示已安装过[通俗易懂]龙歌这款游戏需要在玩之前安装一个java的插件,有时候由于错误的安装或卸载java会造成虽然已经删除了java插件,但是重新安装java时系统提示已经安装了一个版本,而无法重新安装。在Windows中,如果本地安装过Java,但存在问题无法使用,需要重新安装同版本的Java时,会出现下面的提示:原因是原有Java安装目录已经被删除或损坏了,不过在注册表还残留了安装信息,如果用360和优化大师清除注…

    2022年5月19日
    40
  • shell脚本实例精讲_shell脚本编程实例

    shell脚本实例精讲_shell脚本编程实例shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核,这就是Shell的本质。shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。shell脚本中最重要的就是对shell命令的使用与组合,再使用shell脚本支持的一些语言特性,完成想要的功能。今天给大家分享《shell脚本100例》,包含了90%的shell脚本知识点,想

    2022年9月28日
    4
  • django request.get_django post请求

    django request.get_django post请求Django在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数。也就是我们经常看到的request参数。在这个

    2022年8月7日
    7
  • LINUX版navicat15永久激活码(注册激活)

    (LINUX版navicat15永久激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    429
  • 如何防止木马病毒盗窃QQ密码?[通俗易懂]

    如何防止木马病毒盗窃QQ密码?[通俗易懂]相信很多网友都有QQ号码被盗的机构能力,那么你的QQ密码是如何丢失的呢?一般来说盗取QQ密码有两种途径:一种是本地暴力激活成功教程QQ密码,另一种是利用键盘记录器这类木马程序远程盗取密码。对于暴力激活成功教程,前提是本地电脑上留有用户登录过的QQ文件(这也是在网吧和公共机房用QQ容易丢失密码的原因),然后利用激活成功教程软件对密码进行穷举法猜解。所谓穷举法,就是对键盘上所有可能输入的数字或字母进行逐个排列组合与试验,最后

    2022年7月20日
    14
  • iOS小技能:解决图片压缩之后模糊的问题「建议收藏」

    iOS小技能:解决图片压缩之后模糊的问题「建议收藏」前言图片的压缩其实是俩概念,1、是“压”文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,2、是“缩”文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。这个UIImageJPEGRepresentation(image,0.0),是1的功能。这个[sourceImagedrawIn…

    2022年6月18日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号