1.Mybatis开发步骤及其原理

1.Mybatis接口式编程开发步骤:

  1、根据全局配置文件,利用SqlSessionFactoryBuilder创建SqlSessionFactory

       

  2.使用SqlSessionFactory获取sqlSession对象。一个SqlSession对象代表和数据库的一次会话
  

   3. 使用SqlSession获取映射器进行操作

   

  注意:

  

   Mappe接口没有实现类,通过将Mapper接口和Mapper.xml文件进行动态绑定,Mybatis会自动为这个接口创建一个代理对象,执行增删改查操作。

  1、线程安全:

    指多个线程在执行同一段du代码的时候采用加锁机制,使每次的执行结果dao和单线程执行的结果都是一样的,不存在执行程序时出现意外结果。

  2、线程不安全:

    是指不提供加锁机制保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。

    举例说明:假设售票系统有1000张票,A和B同时来买票,如果是线程不安全,那么可能售票系统可能出现1000-1去同时执行的情况,最终结果是A和B都买完后剩下999张票,而不是998张。

  3. SqlSession 的实例不是线程安全的,因此是不能被共享的。

    SqlSession和Connection一样都是非线程安全的,因此就不能将他写成一个类的成员变量,会在多线程情况下存在资源竞争,有可能A线程将SqlSession给关了,B线程还在用;因此每次使

  用都应该获取新的对象。

  4. 一个SqlSession对象代表和数据库的一次会话,SqlSession每次使用完成后需要正确关闭,这个关闭操作是必须的

    

你情我愿,我们就在一起!
posted @ 2020-09-03 07:55  QueryMarsBo  阅读(592)  评论(0编辑  收藏  举报