当前位置:   article > 正文

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

com.baomidou.mybatisplus

正文

在这里插入图片描述

在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的增强,太厉害了!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/356986
推荐阅读
相关标签
  

闽ICP备14008679号