记一次排查Mybatisplus报Cannot execute table Method, ClassGenricType not found
报错如下
com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Cannot execute table Method, ClassGenricType not found . at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:49) at com.baomidou.mybatisplus.core.toolkit.Assert.isTrue(Assert.java:38) at com.baomidou.mybatisplus.core.toolkit.Assert.notNull(Assert.java:72) at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.table(SqlHelper.java:86) at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.sqlStatement(ServiceImpl.java:113) at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.saveBatch(ServiceImpl.java:126) at com.baomidou.mybatisplus.extension.service.IService.saveBatch(IService.java:69) at com.paraview.esc.idm.app.permission.service.impl.AppAccountPermissionLinkServiceImpl.bindRole(AppAccountPermissionLinkServiceImpl.java:191) at com.paraview.esc.idm.web.service.impl.IAppAccountPermissionLinkServiceImpl.bindRole(IAppAccountPermissionLinkServiceImpl.java:31) at com.paraview.esc.idm.web.service.impl.IAppAccountPermissionLinkServiceImpl$$FastClassBySpringCGLIB$$b5279cc1.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
代码程序结果是这样的
ServiceImpl是mybatisplus的com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
AppAccountPermissionLinkServiceImpl也是通过maven引入的
因为业务需要,需要对AppAccountPermissionLinkServiceImpl的一些方法进行覆盖重写
但是由于IAppAccountPermissionLinkServiceImpl不是直接继承ServiceImpl而是继承于它的子类,所有在执行saveBatch时出现了以上错误
在查看ServiceImpl底层源码时发现以下源码
从以上源码可知,mybatisplus的ServiceImpl的saveBatch方法(updateBatchById方法也是如此)是通过获取子类继承时指定的泛型参数里的第二个参数去获取实体类的
由于我没有直接继承ServiceImpl而且去继承了它的子类,导致mybatisplus获取不到bean类
解决方案:
重写ServiceImp的currentModelClass方法,直接返回对应的实体类
作者:ki16
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix