Mybatis介绍
MyBatis是一款优秀的持久层框架,它支持定制化SQL以及高级映射。
Mybatis核心组件
1、SqlSessionFactoryBuider:它会根据配置文件生成SqlSessionFactory,采用的是Builder模式。
2、SqlSessionFactory:依靠它可以生成SqlSession,使用的是工厂模式。
3、SqlSession:既可以发送SQL,又可以返回发送结果。
4、Mapper映射器:由一个Java接口和一个XML组成。
SqlSessionFactoryBuider类
用来创建SqlSessionFactory工厂接口,一旦创建成功就可以马上干掉。
SqlSessionFactory接口
Mybatis可以通过配置文件生成SqlSessionFactory。SqlSessionFactory用于创建SqlSession接口对象,它在项目周期中长期存在,且只存在一个。有两个实现类DefaultSqlSessionFactory和SqlSessionManager,第二个使用在多线程环境中。
SqlSession接口
1、有两个实现类,DefaultSqlSession单线程环境使用,SqlSessionManager多线程环境使用。
2、SqlSession类似于一个Connection对象,代表一个连接资源的使用。
3、主要作用:获取Mapper接口,发送SQL到数据库,控制数据库事务。
4、它的生命周期只存在一个业务请求中,处理完整个业务请求后,就应该关闭了。
5、SqlSession是通过内部的Excutor(接口)执行器来操作数据库的。
Mapper映射器
1、它由Java接口和对应的XML文件组成。
2、映射器的主要作用:把POJO中的数据插入数据库,或者是把查询到的结果映射为一个POJO。
3、Mapper.xml文件定义好后,需要在配置文件中引入。
4、Mapper.xml中namespace属性要对应一个接口的全限名。
5、Mapper接口由SqlSession创建,生命周期小于或者等于SqlSession的生命周期。