Mybatis plus源码浅谈--com.baomidou.mybatisplus.extension包

正文

在这里插入图片描述

在com.baomidou.mybatisplus.extension包的Model类中,

有这样一行注释
在这里插入图片描述

也就说明,使用Mybatis plus的前提,必须得让原Mapper继承baseMapper才有使用的可能,所以先加上吧

在这里插入图片描述

在其中有大量类似sqlSession.insert(sqlStatement(SqlMethod.INSERT_ONE),this)的方法

点进SqlMethod.INSERT_ONE方法中,
在这里插入图片描述

可以看到大量写好的,SQL语句,那么也就是说,Mybatis Plus一开始就写好了通用的CRUD方法,当你调用Service或者BaseMapper中的CRUD方法时,其实也就是调用了底层写好的CRUD语句,那么它具体是怎么做的呐? 有待深究

将ApiErrorCode定义枚举类,并通过一个for循环获取也成了通常的做法

在这里插入图片描述
有个类:
在这里插入图片描述
SQL解析处理器,hhh,突然感觉到它是实现Mybatis Plus CRUD的关键

详细看其中的方法:
在这里插入图片描述

它通过,大体意思是,通过mybatis获取到源StatementHandler处理器,通过插件工具类获取到源SQL然后调用sqlParser.parser方法解析sql语句并执行,应该是这样的

那么也就是说,当你调用Service或者BaseMapper中的CRUD方法时,mybatis plus通过拦截器去拦截原本要映射到mybatis 原生mapper接口中的方法,然后通过SQL解析器,映射到mybatis plus底层写好的CRUD语句,真是官网所言的,对mybatis的增强,太厉害了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值