温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MyBatis--01.基础

发布时间:2020-08-06 08:16:17 来源:网络 阅读:358 作者:zjLinky 栏目:开发技术

1.Mybatis的基本组成

  • SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口)

  • SqlSessionFactory:依靠工厂来生成SqlSession(SQLSession会话:相当于JDBC中的Connection对象)

  • SqlSession:即可以发送SQL去执行并返回结果,也可以获取Mapper的接口

  • SQL Mapper:它是Mybatis新设计的组件,它是由一个Java接口和Xml文件(或注解)构成的,需要给出对应的SQL和映射规则,它负责发送SQL去执行,并返回结果。

2.生命周期

  • SqlSessionFactoryBuilder :
    作用就是创建SQLSessionFactory,所以创建完成后作用即完成,将它回收,所以它的生命周期只存在于方法的局部。

  • SqlSessionFactory :
    每次应用程序需要访问数据库,我们就通过SQLSessionFactory来创建SQLSession(相当于Connection对象),所以SqlsessionFactory应该在Mybatis应用的整个生命周期中,其职责就是创建SQLSession,为了节省数据库的资源,我们采用单例模式,一个数据库只对应一个SQLSessionFactory,管理好数据库资源的分配。

  • SqlSessionFactory :
    是一个会话,相当于JDBC中的Connection对象,它的生命周期应该是请求数据库处理事务的过程中。它是一个线程不安全的对象,在涉及多线程编程的过程中,要特别当心,此外每次创建完成后都要及时关闭,长期不关闭会严重影响数据库的性能。我们往往在finally语句块中关闭它。它存活在一个应用的请求和操作,可以执行多条SQL语句,保证事务的一致性。

  • SqlSessionFactory :
    Mapper是一个接口而没有任何的实现类,它的作用是发送SQL,然后返回我们需要的结果,或者执行SQL从而修改数据库中数据,因此它应该在一个SQLsession事务方法之内,是一个方法级别的东西,就如同JDBC中的一条SQL语句执行,最大范围和SQLSession相同。


向AI问一下细节
推荐阅读:
  1. soapui基础
  2. iptables基础

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI