码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis--01.基础

时间:2018-05-27 14:50:24      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:Java   MyBatis   

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相同。


MyBatis--01.基础

标签:Java   MyBatis   

原文地址:http://blog.51cto.com/12622556/2120759

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!