JAVA中使用JDBC做批量处理时,没有报错,但是数据没有插入数据库 插入数据显示0条

Connection conn=getConnection();
int row=0;
try{
String sql ="insert into BOOKS(book_name,price,amount,author) values(?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
for(int i=1;i<4;i++){
ps.setString(1,"三体"+i);
ps.setInt(2,i*100);
ps.setInt(3,i*10);
ps.setString(4,"刘慈欣");
ps.addBatch();
}
int[] rows=ps.executeBatch();
// conn.commit();
row=rows.length;
ps.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}

            返回的 row 为0  求大神帮忙看一下!!
0

3个回答

// conn.commit(); 这是注释了没有提交吧...

0
qq_42172623
qq_42172623 没有用到事务 我看网上都说要commit()我就加了 发现报错 就注释掉了
9 天之前 回复

你可以打印conn.getAutoCommit(), 查看一下你的事务是不是自动提交的。如果是true,那么这段代码应该没问题,可以看一下其他的地方

0
qq_42172623
qq_42172623 嗯嗯 解决了
9 天之前 回复

conn.commit();注释掉了!!!我以前也碰到类似的问题, 不仅仅是批量操作, 更新之类的也是一样的

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的。是时候展现真正的技术了!
其他相关推荐
java代码显示正确执行,但为何数据未成功插入数据库?原因如下
java代码显示正确执行,但为何数据未成功插入数据库?原因如下 insert into records (uid,ke) values ('"+data[i][0]+"','"+sum[i]+"')" 当我在java里写上面代码时候,一直没有存进去数据库,控制台也不报错,并且我在后面还输出一个成功的话语,导致很懵比。 这使得让我一直在网络上寻找。直到发现是事物没有提交设置se
用mybatis在java后台insert数据,能运行但数据库没有添加成功
用mybatis在java后台insert数据,能运行但数据库没有添加成功。 如图所示,没有报错,但是在数据库中却没有成功添加该条数据 结果是因为没有提交导致,正确代码如下: 添加:         sqlSession.commit();         sqlSession.close(); 问题解决!
向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
向数据库中的order数据表中插入数据时,一直插入数据失败。没有报SQL语句语法错误,Eclipse开发工具的console打印台中也没有报错,就是数据插不进去,不断的修改测试和打印,也没有发现问题。原因?
程序返回插入数据库成功,但是数据库内却没有数据
我用数据集定义了一个InsertMenber函数,用来插入数据到数据库 过程也判断了返回受影响的行数。 调试也看了,都是插入成功。 但是我在资源管理器上面看数据库里面还是什么都没有。 我原来以为是执行语句的问题,结果发现语句复制到数据库执行是没有任何问题的
使用JUnit 测试hibernate添加数据有insert语句,但数据库无数据
JUnit 做hibernate项目单元测试的时候,发现控制台明明打印了insert语句的日志,但是一看数据库,就是没有数据。前辈说,JUnit测试类完成后事务是默认 回滚的。只能查询数据,不能增删改。在测试类或者测试方法上面加上注解 @Rollback(false)  表示事物不回滚,这样数据就可以提交到数据库中了。...
代码提示插入成功,数据库没有数据,事务异常问题
项目整体理解不透彻。 项目中有这么需求,单一条记录插入出错之后,在错误日志里面添加一条记录,但是在测试的时候,错误日志怎么都没有插入,调试的时候发现在代码中执行没有报错,但是就是没有写入数据库。 开始怀疑表的问题,然后新建一个临时表,只插入一个字段依旧不能插入数据库,应该不是数据库问题,然后代码里面修改将插入语句改到别的xml中,还是不行,插入语句在命令行可以执行,各种无头无脑的尝试之后,定位到
mybatis插入更新删除数据时,成功但是不能写入数据库
mybatis进行查询select操作时 session.select(&quot;statement&quot;, &quot;parament“); 成功,可以获取到结果。   但是增删改时仅仅一句sesseion.[操作]() 可以看到成功,但是数据库没有变化。需要一句session.commit(); SqlSession session =MybatisUtil.openSqlSession(); Pho...
Hibernate插入数据成功,不报错,但是数据库中没有值
原因是没有提交事务 加入属性true这样就可以自动提交事务了。
Java向数据库中插入数据出错时怎么避免插入错误数据
Java向数据库中插入数据出错时怎么避免插入错误数据
JDBC-Java程序向mysql中插入数据的中文乱码
Java程序向mysql中插入数据的中文乱码现象: 用JDBC将中文字段插入MySQL数据库中,然后打开表发现,那些字段都是”??”,或者是乱码. 原因: 1.由于创建数据库时指定默认的编码方式为utf8。 2.Client端字符集为gbk. 3.进行jdbc链接时使用了不匹配的字符集。 解决办法: 1.创建数据
使用mybatis向插入mysql数据库插不进数据且不报错
原因:session没有进行commit();
SQLite中插入数据报没有找到表问题
no such table: tb_expert 插入数据的时候,说没有找到表,修改数据库版本准备重新建表,发现表全部被drop了,但是表没有重新建立起来 1.如果数据库文件不存在,SQLiteOpenHelper在自动创建数据库后会调用oncreate()方法,在该方法中一般需要创建表、视图等组件。在创建前数据库一般是空的,因此不需要先删除数据库中相关的组件。     2.如果数据
Python与MySQL交互中Python提交添加数据操作但数据库并未添加问题解决方案
在Python中插入数据时,插入语句执行后,编译器没有报任何错误,且返回影响行数符合理想状态,但数据库中并没有出现新添加的数据。代码截取部分如下: import pymysql # 连接数据库 conn = pymysql.connect( host=&amp;quot;127.0.0.1&amp;quot;, port=3306, user=&amp;quot;root&amp;quot;, password=&amp;quot;123&amp;quot;, ..
通过JDBC使用批处理+事务,往数据库中插入百万级数据测试
最近再学习MySQL,有时候需要百万级/千万级的数据量来支撑测试,刚开始通过语句一条一条的插入,200W行插入了4个小时才搞定,所以写了如下代码来快速插入。 单纯的JDBC,没有采用多线程,多线程的方式后期会更新,代码有缺陷的地方,希望评论指出。 JdbcUtils就不贴出来了。 本人自用笔记本,插入速度大概在 1W+条 / S public void commitBatch() {
使用mybatis向数据库插入不进数据并且不报错
今天在学习mybatis操作数据库时,发现程序运行成功,却一直插入不进数据。后来才发现是因为没有commit的问题,我原来以为session关闭之前它会帮我commit的,没想到并不是这样。 //添加用户 @Test public void Test02() throws IOException{ //配置文件 String resource = "conf.xml"; //加载配置
向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错的原因
1. 这几天在做一个Javaweb的图书商城项目,在操作数据库的过程中,遇到一个问题?          向数据库中的order数据表中插入数据时,一直插入数据失败。没有报SQL语句语法错误,Eclipse开发工具的console打印台中也没有报错,就是数据插不进去,不断的修改测试和打印,也没有发现问题。 数据表order和Java代码如下:
前台插入数据后,数据库里没有显示
在数据库里插入了几条测试数据,为了方便修改数据在sql语句后加了一个for update;select * from DOCS_NORMAL_REPORT_MASTER  for update。并且编辑了一下数据库里的数据。然后从前台执行一个操作,结果前台的操作执行成功了,但是在数据库里查不到,在数据库里运行commit后,新增的数据出现了。再从前台插入一条数据时,前台一直显示正在提交数据。后来找
错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题
今天在往数据库中插入数据时遇到了线程阻塞问题:..........
junit测试成功但数据库未进行增删数据
Junit测试类为: package Friend2DaoImpl; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.Rollback; import org.springfram
使用ssm开启事物并向数据库添加数据时,控制台不报错,相反关闭事物之后不报错而且能添加数据,原因是因为开启事物的注解的位置错误,一定要放在service层。
使用ssm开启事物并向数据库添加数据时,控制台不报错,但是数据添加不进去,关闭事物之后也不报错而且能添加数据,原因是因为开启事物的注解的位置错误,一定要放在service层。...
批量导入大数据表的时候 使用线程池处理
public class UpdateMebinfoThread implements Runnable{ private int beginnum= 0;// 开始行数 private int endnum= 0;// 读取记录数   public UpdateMebinfoThread(int beginnum, int endnum)    {        supe
JDBC中使用批处理处理大量的插入数据操作
JDBC之使用批处理处理大量数据  在JDBC的操作中,如果我们需要一下子插入或者删除大量的数据的话,那么我们就可以使用批处理。在这里需要注意的是,需要将手动提交设置为false;并且使用Statement.避免使用prepareStatement.        package com.bjsxt.jdbc;   import java.sql.Connection; import
conn.excute()插入数据库成功,但却返回false原因
excute()插入数据库成功,但却返回false 本文主要通过一个插入mysql数据库实例演示: 一、Test类部分 @Test public void testInsertCustomer(){ Customer customer = new Customer(); customer.setName(&quot;张三的小名&quot;); cu...
Oracle表刚插入数据,但是在MyEclipse中却查不到(代码完全正确)
最近在做项目的时候发现了一个有趣的问题: 在plsqldeveloper中打开一个sql会话窗口,然后 插入一条数据(或者删、改操作),但是在MyEclipse中用代码却查询不到,而且数据已经插入进去了,这是为什么呢? 1.用plsqldeveloper插入数据 这里有张表mydept,然后我向其中插入一条数据,查询了一下,插入成功,没问题 2.查询数据 打开MyEclipse,我这
Mybatis插入操作 主键自增 返回成功 但是数据库没有数据
如果插入的操作返回成功,但是数据库没有数据,一般情况下是因为事务。 下面我们来大概分析下MyBatis。 在MyBatis的配置文件中: 使用了JDBC事务管理器,并交给了MyBatis进行处理,JDBC事务管理器默认情况下是进行自动提交的,但是交给MyBatis处理之后,就变成了手动提交,所以在MyBatis中,进行CRUD操
python 连接数据库成功 数据插入为无 原因
漏写代码:conn.commit()
在执行数据库插入语句时遇到的问题总结
1.在此过程中,感谢同事的帮助和网友的智慧 2.解决过程: (1)进行前台的debugger;查看数据是否正确,是否为json格式 (2)在前台没有问题的情况下,进行后台controller中数据的检查,看是否接收到,这时如果有问题,就检查service和DAO中的方法传递的参数,是否格式是一致的(我用的list),也有用的是Map; (3)当这些都检查完没有问题,我继续执行,把log4j
【Java/JDBC.ORM】 jdbc插入大量数据时优化处理
转自:http://blog.csdn.net/xiashan17/article/details/6049587 这个就是做个练习.想看下JDBC的最大优化度. 我的要求就是插入到数据库里大量的数据 比如10W 或者 100W 而且要求内存稳定. 首先说下我的代码: 我的数据库MySQL  [java] view plaincopy
spring+hibernate 插入数据时控制台打印出sql语句,但是数据库中并没有数据解决方法
原因可能是spring对于proxool连接配置不支持自动提交, 必须在hibernate.cfg.xml中添加一个自动提交的配置: true   这样就能够写入数据库了
JDBC批处理-大量数据插入数据库减少插入时间
背景: 由于需要大量的往数据库中进行插入,那么许多框架下已经写好的插入方法将会大大的提高插入时间,对于效率是非常不友好的。那么直接使用jdbc的批处理导入,自己对数据库进行开关,则会大大缩短插入时间。效率的问题也主要是因为写好的插入方法,会对数据库先打开,再执行插入语句,再关闭数据库,这样的反复开销对于oracle,1000条,会停顿3秒(测试结果,不代表正确理论),而使用批处理且打开后再完全插入
mybatis 在dao层插入数据, 返回了影响的行数, 但是数据库里面有看到数据
mybatis,  在批量插入数据的时候, insert into  返回了影响的行数, 但是查数据库一直是没有记录的. 如果此时最后一条数据的ID为20的话,  调用insert into, ,此时查询数据库, 发现数据还是显示20条, 但是直接在数据库里进行手动执行一条insert into的时候, 然后select  你会发现, 此时最后一条数据的ID为41,
SQL(insert、delete、update)执行成功,但是数据库表中无显示无记录
       如题,程序中insert一条记录,调试过程中根据执行结果发现此条sql已经执行成功(影响行数为1且插入记录已生成自增主键正确值),但是查询数据库相应表时发现表中并无相应记录,通过直接在表中插入测试数据也能发现已有记录的主键值自增后的值已被占用(例如:id为主键,当前id为52,下一条记录插入进来时id值应当为53,那么直接操作表插入测试数据时实际id值为54,id为53虽然不存在但...
数据库-在表中插入数据;如果存在就更新
通过一条sql语句进行实现;使用replace                  replace into table(id,name) value(1,"bill");
Phoenix(五)JDBC 无法添加数据
本篇主要介绍使用phoenix的JDBC驱动连接HBase,进行数据添加的时候发现数据总是无法插入,并且log日志也没有任何报错信息,最后发现是没有手动commit的缘故,phoenix并没有帮我们做commit的操作,需要我们自己手动commit。最后在执行executeUpdate后添加commit代码后数据被成功插入。
使用php和mysql,数据库显示插入成功,但是数据表内数据为空
几个月之前写过的php现在也已经忘得差不多了,本来就不会多少,现在更是错误百出了。         今天写了一个用户注册的界面,其他部分暂时不写,之贴出其中body部分 用户注册 用户名: (*) 密码:
mybatis插入数据时,不能入库
最近拾起后台代码,才发现好多东西都忘了,碰到了个小问题,使用mybatis添加数据的时候,没有报错,然而刷新数据库的时候也并没有得到新插入的数据。 最后找到问题的原因是: 1.数据库定义的int类型的主键,没有设置成auto-increment,自动增长。 这是一个问题所在,但是设置之后,依然没有效果,觉得还有其他的地方没找到。 2.查了查jdbc相关资料,才发现跟它的事物有关
使用JDBC 插入向数据库插入对象
package com.ctl.util; import java.io.IOException; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedS
Hibernate使用过程中,当修改数据后,提示成功,但并没有写入数据库,即使修改成功后多次访问数据库都得到不同的结果的解决方案
hibernate框架是一款很不错的数据库映射操作框架,使用不当会造成各种各样的问题,比如有时候添加一条记录,返回结果表示修改成功,有时候并没有写入数据库,有时即使写入了数据库后,点击前台的查看数据,连续点击请求,每次得到的数据都不同,有时是添加前的数据,有时候是添加后的数据。
sqlite创建表成功,insert不报错,但没有数据插入
sqlite创建表成功,insert不报错,但没有数据插入
yii 添加,操作成功,但数据并没有插入到数据库中
createAction操作成功,但是数据库中除了自zheng

相似问题

2
【SpringMvc】从数据库读取用户信息,其中图片路径响应变成了text/html,导致图片无法显示
3
JAVA中使用JDBC做批量处理时,没有报错,但是数据没有插入数据库 插入数据显示0条
4
jsp文件如何让下拉框动态读取数据库
2
用thinkphp 在网页上实现form表格(假设有10行数据)的增删改查,连接到数据库中 应该怎么写
5
接收别人推送的数据,存入数据库 sqlserver
1
我需要一个省市区镇街道 五级联动数据库并且需要经纬度,大家说怎么搞
2
mysql删除数据库是出现错误1064《42000》
1
PHP中提示:Warning: mysqli_fetch_array().....应该怎么修改,万分感谢
0
oracle数据库expdp导出报错ORA-01555快照过旧.
1
Intellij idea怎么配置连接Sybase ASA数据库?
2
爬取豆瓣电影存入数据库,报错TypeError: %d format: a number is required, not str
2
sqlserver starting database 启动,最近数据库有时候加载不上
1
数据库中的架构数据库问题
1
在SQL中如何实现在同一个数据表中的不同列实现父子关系,求具体实现代码
1
Sql Server中关于CDC(数据更改捕获)的问题:sys.sp_MScdc_capture_job中找不到相应依赖存储过程与函数
2
如何从数据库中随机抽取10道题或20道题?
1
Oracle11g RAC,bdca建库报错ORA-19624, ORA-19870
1
JSP连接数据库插入数据相关问题?
2
Tidb数据库关于load data infile 是不是ignore模式?
0
请教一个数据库选择索引问题?