出错 1代码 2数据库
若没加事物管理,则代码或数据库中出错就可能导致事物出错或事物没有执行。加上事物管理,
第一步;通过setAutoCommit(false)取消自动提交
第二步;在catch方法中将事物回滚,若有出错的事物则取消所有的操作,避免代码出错导致数据混乱。若无出错的事物则最好
第三步;在try中最后通过从commit()手动提交事物
1、调用Connection的setAutoCommit(false)关闭自动提交
2、使用try 将一系列数据库操作放到一起,最后使用commit()提交事务
3、在catch里对异常处理,调用rollback()进行事务回滚
jdbc中默认commit,
使用事务:1.关闭自动commit:conn.setAutoCommit(false)
2.代码最后手动commit:conn.commit
3.对需要加事务的代码trycatch,当报错时,回滚:conn.rollback();
通过代码实现事务管理
Connection conn = DBUtil.getConnection();
第一步:关闭自动提交
conn.setAutoCommit(false);
第二步:将代码用 try catch 包围
第三步:在catch内进行事务的回滚 conn.rollback(),在try中进行手动的事务提交 conn.commit()
jdbc事务操作: 1.connection.setAutoCommit(false)关闭自动提交 2.把对数据库的操作加入try catch块 3.如果中间报错,则在catch块中因connection.rollback()回滚(在程序中可用connection.setSavepoint()设置保存点,rollback()也可以接受Savepoint参数,返回到指定保存点位置 ) 4.正常执行则在try块末尾用connection.commit()手动提交
String a = null;的意思是让代码出错,导致数据写入不完整。如果没有进行事务处理,则会导致数据丢失或异常,如果进行了事务处理,则会对执行的操作进行回滚(还原撤销读写操作)。
事务处理的步骤:
一、关闭自动提交:conn.setAutoCommit(false);
二、手动提交事务:conn.commit();
三、进行事务回滚:conn.rollback;//放置在try-catch语句中