spring jdbc怎么插入数据

spring jdbc怎么插入数据,第1张

Oracle数据库支持事务处理,可以通过commit提交事务,通过rollback回滚事务,这两种方式是进行事务处理的首要手段。

在JDBC中也同样支持事务的处理,但所有的事务处理都需要依靠Connection完成。否则在事务处理的过程中,会造成在错误之前的代码运行了,而错误之后的代码没有运行的情况,这在实际开发的过程中是不允许出现的,否则会造成很大的损失。

在Connection *** 作中所有的数据库更新属于立即更新,如果想要进行事务的 *** 作,则首先应该停止自动更新 *** 作,之后所有的更新则通过commit()进行提交,如果有问题则回滚。

这个还不简单了...

你创建出statement 后调用执行方法..写个嵌套的3层循环..每次都去执行这个sql就好了...

给你个代码提示找个改改就能实现..

elietian

说的不对..在jdbc中除了现在一下巨小的数据库如hsqldb等..一般的autocommit是true的

所以每次不用commit

//获得连接.创建statement

for(long p =0p<125p++){

for(long g =0 g<5g++){

for(long d= 0 d<9d++)

{

String sql="insert into Entity values("+String.valueof(p)+","+Stirng.valueof(g)+","+String.valueof(d)+",0,100,0)"

st.e....(sql)啥方法的去执行//好久不写了忘记..呵呵

}

}}

//关闭statement 关闭连接.

上述为伪代码...思想如此..祝你编写开心..这样吧..改long..

首先自增ID本来就被设计成为不参与数据库事务的,原因是什么呢?为了防止ID生成阻塞和防止ID错乱,因为对了一张表来说,不是只有你一个线程在申请ID,其他的新增线程了也在申请ID,假设你在事务中第一次申请到了ID=1,但这时你的事务并没提交,也就是这个等于1的ID现在并没有真正入库,想想这时别人的进程也去申请同一个表的ID时,ID生成器该给他1还是2?当然是2啦!如果你这时你回滚你的事务,假设事务把ID=1回滚了,给回ID生成器,ID生成器还能把它给出去别人用么?肯定不行啦,为啥,如果这时那个上次拿到2的线程这次又去拿,不是要拿到1了?说好的自增呢?!也许你会说可以等你下次申请ID时给你呀,把3给刚刚那个拿了2的呀,不好意思,数据库会话(SqlSession)一关,谁记得你呀!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11701947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存