当前位置:   article > 正文

Mybatis中的SqlSession_mybatis sqlsession csdn

mybatis sqlsession csdn

mybatis简介:

它是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互,并且在JDBC操作的基础上做了封装和优化,
  • 1

它借助灵活的SQL定制,参数以及结果集的映射方式,更好的适应了当前互联网技术的发展.

Mybatis优点:

1.稳定,灵活(动态sql),功能强大(池,日志,缓存)
2.学习以及使用成本低
3.解耦,SQL的可维护性,可复用性比较高

Mybatis中的SqlSession

Mybatis是通过SqlSession来实现与数据库会话的.(如下是对Mybatis中的一些理解)
  • 1

在这里插入图片描述
1.Mybatis中使用的门面模式:对外提供API(app),对内封装接口(JDBC) LOG4J就是使用的门面模式
2.使用sqlsessiontemplate对象来访问数据库默认是没有事务的,新的事务会有新的sqlsession,底层是通过ThreadLoad绑定SqlSession到当前线程,保证SqlSession对象在当前线程中只有一份.
3.Mybatis中的池使用了亨元模式:目的是减少对象创建的次数,减少内存的消耗.
4.MyBatis在应用时,首先会基于建造模式构建SqlSessionFactory工厂(例如底层通过SqlSessionFactoryBuilder的Bulid方法进行构建),此工厂对象线程安全,可以被多个线程共享.当我们需要基于mybatis框架内实现数据库回话时,会借助SqlSessionFactory工厂对象创建SqlSession对象,此对象为一个会话对象,这个对象线程不安全,不可以多线程共享.SqlSession底层是hashmap,是线程不安全的.

sqlsession简单的工作流程如下
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/158241
推荐阅读
相关标签
  

闽ICP备14008679号