1.什么是Mybatis框架?
MyBatis框架是一个基于ORM(Object Relational Mapping,对象/关系映射)的优秀的持久化框架,但是,MyBatis框架不是一个完整的ORM实现,而是一种半自动化的ORM实现,MyBatis框架的主要特点是SQL映射器机制,MyBatis框架使用XML或注解将Java中的接口和POJO(Plain Ordinary Java Object,普通的Java对象)与SQL语句结合在一起,使用更加的灵活、简单易学、性能优秀,并且随着互联网企业和应用的兴起而得到广泛应用。
2.执行流程
总体步骤为:
1、加载核心配置文件到Configuration
2、构建SqlSessionFactory
3、打开SqlSession会话
4、Executor开始处理请求
5、SqlSource解析SQL语句
6、StatementHandle(声明处理程序)执行SQL语句
7、ParameterHandler设置参数
8、StatementHandler(语句处理程序)执行SQL语句
9、ResultSetHandler(处理结果集)执行SQL语句
3.SqlSessionFactory会话工厂
SqlSessionFactory是会话工厂,用来创建各种会话,它实际上一个接口,在该接口中定义了openSession的不同的加载方法,一般用单例模式来管理SqlSessionFactory,便于重复使用。 MyBatis通过xml配置文件,来创建会话工厂。
4.SqlSession会话
SqlSession是面向用户的,即一个用户,对应一个会话,它定义了数据库的操作方法。 每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,因为它不是线程安全的。若打开了一个SqlSession,则在使用完毕后就需要关闭它。通常,把这个sqlsession.close()关闭操作,放到finally{}块里,以确保每次都能正确关闭。
5.Executor执行器
MyBatis底层自定义了Execuor执行器接口来操作数据库,它包括2个执行器:基本执行器、缓存执行器。
6.SqlSource解析SQL语句
7.StatementHandler执行SQL语句
8.ResultSetHandler执行SQL语句