Spring mybatis源码学习指引目录

本文详细解析了MyBatis与Spring框架整合的过程,包括通过注解和XML配置文件加载Mapper接口的方式,以及如何创建MappedStatement对象。同时,还介绍了SqlSessionFactoryBean的作用,以及SqlSessionTemplate如何帮助Service层调用DAO层接口。

前言: 分析了很多方面的mybatis的源码以及与spring结合的源码,但是难免出现错综的现象,为了使源码陶冶更为有序化、清晰化,特作此随笔归纳下分析过的内容。笔者也为mybatis官方提供过pull request,并被采纳。

名词解释

  • service层关联:指的是业务层调用数据持久层即dao层的接口,其需要class的配合

  • 注解模式加载:指的是插件通过解析class类中方法上的注解来完成注册dao层接口的组装,比如@select/@update等注解

  • mapper配置文件加载:指的是直接读取对应的xml格式mybatis文件,以此来创建数据操作对象org.apache.ibatis.mapping.MappedStatement

SqlSessionFactory

与数据库建立持久层离不开数据源的配置,Spring则通过SqlSessionFactoryBean来进行加载。源码通道>>>Spring mybatis源码篇章-SqlSessionFactoryBean

MappedStatement

与数据库进行交互离不开持久层操作对象,其也是Mybatis的核心概念。有两种方式进行加载

注解模式加载

即如@select|@update|@delete|@insert注解方式加载MappedStatement。源码通道>>>Spring mybatis源码篇章-MybatisDAO文件解析(一)

XML模式加载

即直接解析对应的xml格式配置文件模式加载MappedStatement。源码通道>>>

  1. Spring mybatis源码篇章-MybatisDAO文件解析(二)

  2. Spring mybatis源码篇章-MapperScannerConfigurer关联dao接口

CRUD节点如何被解析

即对XML配置的select|update|delete|insert节点如何被解析。源码通道>>>Spring mybatis源码篇章-NodeHandler实现类具体解析保存Dynamic sql节点信息

动态SQL语句如何被解析

即对${}#{}的两种方式如何被解析。源码通道>>>Mybatis源码解析-DynamicSqlSource和RawSqlSource的区别

SqlSessionTemplate

最后我们也要关注下MVC模式中的service层的接口如何调用dao层的MappedStatement接口来完成对数据库的访问操作。源码通道>>>Mybatis源码分析-SqlSessionTemplate

小结

更多的内容可自行查阅官方源码或者官网文档,附上mybatis官网文档地址

转载于:https://www.cnblogs.com/question-sky/p/6653176.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值