优秀的编程知识分享平台

网站首页 > 技术文章 正文

Mybatis-Plus利用Sql注入器批量插入更新

nanyue 2024-10-26 11:18:27 技术文章 2 ℃

Mybatis-Plus是在Mybatis持久层框架上封装的一层非常好用的工具,最近因为想要在Mapper里加入自己自定义的通用方法,所以用到了Mybatis-Plus的Sql注入器。Sql注入器的作用是可以实现自定义的sql脚本并注入到MappedStatement里,从而达到动态拼装sql并生成Mapper接口的目的。这种方式与自己写一个通用Mapper的不同在于,Mybatis-Plus提供的AbstractMethod方法类,实现的接口里可以获取到表信息,我们可以利用它们做批量插入和批量更新的sql拼装。同时,Mybatis-Plus也提供了自带的一些AbstractMethod实现类。下面我以批量更新和批量插入两个示例,贴出代码供大家参考。

自定义批量更新方法 UpdateBatchMethod.java。重载injectMappedStatement方法,此方法可以生成拼接批量更新sql的脚本。

自定义Sql注入器 InsertBatchSqlInjector.java。将上面的批量更新方法对象添加到默认sql注入器的方法列表。一同添加的还有mybatis-plus自带的批量新增方法。

注入Sql注入器 MybatisPlusConfig.java。将上面我们自定义的sql注入器注入到Spring容器里。

自定义BaseMapper。

然后,在业务Mapper对象上,将继承类从BaseMapper改为上面我们创建好的MyBaseMapper

自定义ServiceImpl

将业务Service的继承类改成上面我们生成的MyServiceImpl.java

单元测试配置

#文章首发挑战赛#

Tags:

最近发表
标签列表