Mybatis详解

1.优点:①不屏蔽Sql,可以对sql进行优化和改造

            ②提供强大,灵活的映射机智。提供动态Sql.
            ③在mybatis中,提供了使用Mapper的接口编程。只要一个接口和一个Xml就能创建映射器。

2.组件:SqlSessionFactoryBuilder(构造器):会根据配置文件或者代码生产SqlSessionFactory,采用的是分步构建的Builder模式
            SqlSessionFactory(工厂接口):依靠它来生成SqlSession,使用的是工厂模式
            SqlSession(会话):一个既可以发送Sql执行返回结果,也可以获取Mapper的接口。
            Sql Mapper(映射器):它是由java接口和xmL文件或者注解构成,需要给出对应的Sql和映射规则,它负责发送Sql去执行并返回结果。


3.缓存:一级缓存是在SqlSession上的缓存。二级缓存是在SqlSessionFactory上的。mybatis系统会开启一级缓存。如果要开启二级缓存需要加上<cache>配置

4.构建SqlSessionFactory过程:①通过XmlConfigBuilder解析配置XML文件,读出的内容放在Configuration对象中,而Configuration采用的是单例模式。

                                                 ②:使用Configuration对象去创建SqlSessionFactory。是一个接口,Mybatis提供了一个默认的实现类DefaultSqlSessionFactory.

5.原理:Mapper的XML文件的命名空间对应的是接口的全限定名,而方法就是那条SQL的id,这样Mybatis就可以根据全路径和发方法名将其和代理对象绑定起来。通过动态代理技术让这个接口运行起来。而后采用命令模式,最后使用SqlSession接口的方法使得它能够运行的SQL。

6.SqlSession:四大对象:Executor:代表执行器。
StatementHandler:使用Statement执行操作。
ParameterHandler:用来处理Sql参数
ResultSetHandler:进行数据结果集的封装返回处理


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值