请问 PreparedStatement .addBatch() 有数量限制吗?

问题描述

PreparedStatement statement = connection.prepareStatement("INSERT INTO TABLEX VALUES(?, ?)");//记录1statement.setInt(1, 1);statement.setString(2, "Cujo");statement.addBatch();//记录2statement.setInt(1, 2);statement.setString(2, "Fred");statement.addBatch();//记录3statement.setInt(1, 3);statement.setString(2, "Mark");statement.addBatch();请问最大可加多少次?

解决方案

addBatch的限制取决于你使用的数据库及它的配置,像回滚日志的大小,addBatch太多会影响提交的成功以及性能,批量并不是越多越好
解决方案二:
这个是无无限制的,你向加多少就多少,但是如果在提交的过程中突然失去了数据库连接或连接被关闭,就会抛出SQLException。

时间: 2024-11-10 07:36:41

请问 PreparedStatement .addBatch() 有数量限制吗?的相关文章

jdbc批处理的addBatch问题

问题描述 jdbc批处理的addBatch问题 preparedstatement = connection.prepareStatement(sql.toString()); for (int i = 0; i < list.size(); i++) { Map map = list.get(i); Set<Entry> entries = map.entrySet(); for (Entry entry : entries) { preparedstatement.setString

jdbc插入百万数据

问题描述 我使用以下代码插入5W数据要2分钟,100W就得40分钟左右,大家有没有更好的方法,提高速度....表T有70个字段.conn=getConnection();conn.setAutoCommit(false);stat=conn.createStatement();Stringsql="insertT.......";for(inti=0;i<50000;i++){stat.addBatch(sql);}stat.executeBatch();conn.commit(

JDBC常用操作 (java 的数据库连接)

1.常用类与方法 1.1连接 java.sql.Connection 代表与某一数据库的连接. Connection java.sql.DriverManager.getConnection(String url, String user, String password)  用来连接数据库,URL由 jdbc:  +  ip:port  +dateBaseName组成,一个例子: String url = "jdbc:mysql://115.28.321.123:3306/AliyunDB&q

java实现jdbc批量插入数据_java

首先介绍三种JDBC批量插入编程方法,进行比较,具体内容如下 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等. 我用Mysql 5.1.5的JDBC driver 分别对三种比较常用的方法做了测试 方法一:使用PreparedStatement加批量的方法 try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(o_url, userName, pass

流水号的问题

问题描述 用户注册后获得(例如:王某_1)用户ID,后面这个1是读取表中当前最大ID值+1获得的.但是同时多个用户注册,可能会获取同一个表中当前最大ID值,这个问题怎么解决啊? 解决方案 解决方案二:你需要建立一个计数器表,每次用户注册的时候均去计数表中取值并+1.取值的代码与Insert代码放在同一个事务中即可.解决方案三:什么数据库?如果是sql,表中主键可以设置自增如果是oracle,有序列,不需要自己算插入后直接获取最大值,返回结果集insertintotablevalues(xx,xx

mybatis3 mysql数据库管理系统的自动递增字段 如何获取

问题描述 我测试了很多种配置方法都不能实现1.我的数据库是mysql 配置insert语句 <insert id="addUser" parameterType="org.springframework.samples.domain.User" useGeneratedKeys="true" keyProperty="id" > insert into users (id,name,rdate,age) value

英语基本用语总汇1000句 推荐_中英文对照

1. I see. 我明白了. 2. I quit! 我不干了! 3. Let go! 放手! 4. Me too. 我也是. 5. My god! 天哪! 6. No way! 不行! 7. Come on. 来吧(赶快) 8. Hold on. 等一等. 9. I agree. 我同意. 10. Not bad. 还不错. 11. Not yet. 还没. 12. See you. 再见. 13. Shut up! 闭嘴! 14. So long. 再见. 15. Why not? 好呀!

自学了2个月.net,我想请问listview怎么统计出总数据数量?

问题描述 我是直接用listview的数据绑定来绑定数据库的!我尝试过在page_load里面加入了listview.items.count!但是得出来的结果是一个0?希望有前辈帮我指点下! 解决方案 解决方案二:自学了2个月,只会用控件绑定数据库,看来你是白学了还是学习一些正规的编程方法,而不要老想图省事在你弄明白网站和单机版的区别到底在哪里之前,这个问题你恐怕是很难理解解决方案三:简单点讲,你所有的后台代码(.cs文件里的代码)全部运行在服务器上,IE作为客户端,去访问服务器每提交一次,后台

Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加

问题描述 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加,没有的话重新加入一条新的记录,Sql语句怎么实现? 当我页面添加的是"利群"时,添加一盒,那么数据库中利群这条记录中的num字段中的4变成5,如果是页面添加的是"黄鹤楼"同理,如果添加的不是name字段中的这两个,就新插入一条数据.Sql语句怎么写??急急急. 是Mysql的数据