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)

 

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • quotename()函数 

    quotename()函数 请教quotename函数的理解,我已经看了很多帮助,储如以下示例 QUOTENAME(Transact-SQL)返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的MicrosoftSQLServer2005分隔标识符。Transact-SQL语法约定语法QUOTENAME(‘character_string'[,’q…

  • floyed详解[通俗易懂]

    floyed详解[通俗易懂]显然Floyed算法是一个简短而好理解的算法,这里指的好理解是因为Floyed的代码长度不大,实在没理解都可以背下来,所以说是好理解,实际上是真的好理解吗?我们来看看最基础的FloyedFloyed是什么?自然是用来求多源最短路的啦,时间效率是O(n^3),有人会问那我不对每个点做一遍SPFA或dijkstra堆优化,时间效率是O(n^2logn)那不是快很多?实际上因为Floyed

  • Java 审计之SSRF篇

    Java审计之SSRF篇0x00前言本篇文章来记录一下JavaSSRF的审计学习相关内容。0x01SSRF漏洞详解原理:服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过

    2021年12月12日
  • 如何求平均数众数中位数_离散系数

    如何求平均数众数中位数_离散系数平均数、中位数、众数,在分析中如何使用?01平均值的种类02平均数、中位数还是众数?03全距和数值分布01平均值的种类请检查下面的陈述:1、一个快速致富的方法就是做一名职业橄榄球员,2015年美国国家橄榄球联盟球星的平均收入是220万美元。2.、为在大学里取得好成绩,学生需要付出的努力越来越少了。根据最近一项调查,大学生每周平均花在学习上的时间是12.8小时,和20年前大学生的学习时长相比,前者大概只有后者的一半。两个例子当中都使用了“平均”这个词,但是实际上有三种不同的方法来测定平

  • beanCopier_cerdip封装

    beanCopier_cerdip封装BeanCopier封装

  • 网游的跨服玩法是如何实现的?“跨域体系”架构设计思路

    网游的跨服玩法是如何实现的?“跨域体系”架构设计思路https://www.fgba.net/sitemap.xml

发表回复

您的电子邮箱地址不会被公开。

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