autocommit顾名思义自动提交的意思,默认情况下autocommit是false,需要手动commit或者rollback来结束当前事务。如果将autocommit设置为true,每执行完一条sql语句(update,insert)pb都会自动commit或者rollback事务。对信息系统来说,业务逻辑往往比较复杂,一般都是很多sql语句组成一个事务,所以说自动commit会出现数据的逻辑错误(部分commit,部分rollback),所以对于信息系统来说事务操作的时候,一定要将autocommit设置成false,人为去commit或者rollback数据。
需要注意的是,事务对象的autocommit属性对oracle数据库是不起作用的,对oracle数据库来说,connect命令开启一个事务,disconnect命令结束事务,每次commit或者rollback的时候,都会结束当前事务,开启一个新的事务。所以如果pb信息系统连接的是oracle数据库,即便autocommit设置为true,也要手动执行commit或者rollback,否则会出现数据库阻塞的情况。