简单的来说(自动提交)
默认情况下,数据库处于自动提交模式。每一条语句处于一个单独的事务中,在这条语句执行完毕时,如果执行成功则隐式的提交事务,如果执行失败则隐式的回滚事务。
一个业务逻辑层操作多条sql,增加@Transactional注解,他是把若干个sql语句套在一起执行,最后一起commit,缺点就是锁住sql的时候资源不能释放,必须要commit以后才能释放资源,所以建议这个注解能不用就不用,在抛出异常时回回滚,默认是只有io和runtime异常才会回滚,也可以设置自定义回滚异常,怎么设置自定义异常具体的百度就可以