Mybatis中的SqlSession
mybatis简介: 它是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互,并且在JDBC操作的基础上做了封装和优化, 它借助灵活的SQL定制,参数以及结果集的映射方式,更好的适应了当前互联网技术的发展. Mybatis优点: 1.稳定,灵活(动态sql),功能强大(池,日志,缓存) 2.学习以及使用成本低 3.解耦,SQL的可维护性,可复用性比较高 Mybatis中的SqlSession Mybatis是通过SqlSession来实现与数据库会话的.(如下是对Mybatis中的一些理解) 1.Mybatis中使用的门面模式:对外提供API(app),对内封装接口(JDBC) LOG4J就是使用的门面模式 2.使用sqlsessiontemplate对象来访问数据库默认是没有事务的, 新的事务会有新的sqlsession,底层是通过ThreadLoad绑定SqlSession到当前线程,保证SqlSession对象在当前线程中只有一份. 3.Mybatis中的池使用了亨元模式:目的是减少对象创建的次数,减少内存的消耗. 4.MyBatis在应用时,首先会基于建造模式构建SqlSessionFactory工厂(例如底层通过SqlSessionFactoryBuilder的Bulid方法进行构建),此工厂对象线程安全,可以被多个线程共享