一、处理方式不同
1、手动提交:用显式的方式定义其开始和结束的事务,当使用start transaction和 commit语句时则表示发生显式事务
2、自动提交:指每一条数据操作语句都自动地成为一个事务,事务的开始是隐式的,事务的结束有明确的标记。
1、手动提交:逻辑相关的操作分成了一个组,在数据永久改变前,可以预览数据变化。
2、自动提交:能够保证数据的读一致性。
1、手动提交:务被提交给了DBMS(数据库管理系统),则DBMS(数据库管理系统)需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库中。
2、自动提交:事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前的状态;同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。
1、在JDBC中,如果Connection类的方法setAutoCommit(boolean
autoCommit)赋给值为false,那么就可以手动提交(调用Connection类的commit()方法);
2、如果为true那么就是自动提交。自动提交不用你挂念最后要提交的问题,他会自动完成,并且每条语句被当成一个事务;
3、手动提交,在你显示提交之前的所有语句都被认为是一个事务,它的好处是,当这个事务中的某一条语句失败时,事务会回滚,也就是都不会写到数据库,这有利于于保持数据库的一致性。
比如当你在主表和从表同时插入相关的数据时,如果从表(或主表)失败,而主表(或从表)成功时,那么,数据也不会被写入主表(或从表)中。
推荐阅读:
https://zhidao.baidu.com/question/141286945.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2902547/ ,如需转载,请注明出处,否则将追究法律责任。