mybatis-transaction包阅读

transaction包主要功能

  • JdbcTransaction:单独使用Mybatis时,默认的事务管理实现类,就和它的名字一样,它就是我们常说的JDBC事务的极简封装,仅是让connection支持连接池而已
  • ManagedTransaction:没有具体的实现,仅是提醒用户,在其它环境中应用时,把事务托管给其它框架,比如托管给Spring去管理。

transaction包主要结构

mybatis-transaction包阅读_第1张图片

transaction包设计模式

  • 工厂方法。

transaction后记

  • autoCommit默认是false,如果没有手动commit,在sqlSession.close()时,底层会将事务进行rollback()操作,然后才执行conn.close()关闭连接,数据最终不能持久化到数据库中。

  • 如果即不commit,也不close,insert后,jvm结束前,如果事务隔离级别是read uncommitted,我们可以查到该条记录。jvm结束后,事务被rollback(),记录消失

  • 处理事物一般都try-catch-finally编程方式

  • 附上源码结构:
    mybatis-transaction包阅读_第2张图片

你可能感兴趣的:(源码阅读,mybatis,mybatis事务,transaction包)