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)
上一篇 2021年12月31日 下午4:00
下一篇 2021年12月31日 下午4:00


相关推荐

  • 时间戳timestamp类型

    时间戳timestamp类型时间戳 timestamp 类型 Timestamp Mysql 中 timestamp 的格式为 YYYY MM DD HH MM SS 显示宽度是 19 个字符 如果你在 insert 的时候指定 null 那么它会自动显示为当前操作的时间 但是如果你在 insert 操作的时候没有插入数据 那么默认为 0000 00 0000 00 00 TIMESTAMP 类型使用 4 个字节 范围是 1970 01

    2026年3月17日
    3
  • RAID相关技术知识2

    RAID相关技术知识2

    2021年8月8日
    63
  • 项目范围管理:项目范围管理的概念是什么_项目范围管理规划案例

    项目范围管理:项目范围管理的概念是什么_项目范围管理规划案例项目范围管理包括确保项目做且只做所需的全部工作,以成功完成项目的各个过程。 项目范围管理关注的焦点是:什么是包括在项目之内的,什么是不包括在项目之内的,即为项目工作明确划定边界。 对项目范围管理和控制的有效性,是衡量项目是否达到成功的一个必要标准,项目范围的管理不仅仅是项目整体管理的一个主要部分,同时在项目中不断地重申项目工作范围,有利于项目不偏离轨道,是项目中实施控制管理的一个主要手段。 项目范围是项目其他各方面管理的基础。如果范围都弄不清楚,成本、进度和质量等就无从谈起。确认项目范围对项目管理有如

    2026年2月12日
    5
  • 【玩转嵌入式屏幕显示】(六)ST7789 SPI LCD硬件垂直滚动功能的使用

    一、想法萌生小熊派开发板的LCD小屏幕使用是ST7789驱动IC,之前一直有在该块屏幕上实现滚动显示的想法,最初构想在MCU侧创建一个大的队列,将整个屏幕显示内容交由队列管理,然后不停的去整屏刷新以实现屏幕滚动。理论上这样的实现比较耗资源,耗费CPU资源去操作SPI外设,耗费内存资源去存储显示数据,所以一直没有去做这件事。今天在查看ST7789数据手册写论文时,偶然发现ST7789手册种:咦?Scroll?滚动?发现新大陆!根据手册中的8.14章节描述,旋转滚动仅仅是垂直滚动的一种模式,由垂

    2022年4月8日
    94
  • 腾讯元宝登录入口及平台访问指南

    腾讯元宝登录入口及平台访问指南

    2026年3月15日
    2
  • “undefined reference to“ 问题汇总及解决方法 ——非常非常好的一篇文章

    “undefined reference to“ 问题汇总及解决方法 ——非常非常好的一篇文章转载地址:https://segmentfault.com/a/1190000006049907?utm_source=tuicool&utm_medium=referral在实际编译代码的过程中,我们经常会遇到”undefinedreferenceto”的问题,简单的可以轻易地解决,但有些却隐藏得很深,需要花费大量的时间去排查。工作中遇到了各色各样类似的问题,按照以下几

    2022年5月31日
    101

发表回复

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

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