记一次排查Mybatisplus的批量更新 updateBatchById 方法空指针问题

刚开始代码程序的结构是

ServiceImpl 是 com.baomidou.mybatisplus.service.impl.ServiceImpl  包下的程序

现在是在 ClientUserServiceImpl 的某个方法调用 updateBatchById  的批量更新方法,会报空指针。

经过调试发现底层有段代码

问题就出现上面这张图的代码里面,mybatis 会从调用的类 拿到super父类,然后拿到父类的泛型参数param的 第二个参数,也就是 要拿到 User 实体类,才能知道 TableInfo 信息。

但是由于 ClientUserServiceImpl 的父类是 BaseUserServiceImpl , 这个类 在执行这段代码的时候,会返回 Object 出去,而不是 User 实体类。所以在后面

要去获取 tableInfo 信息的时候,就会报出 NullPointException 空指针异常。

 

总结: 要想使用 mybatis的各种方法。最好都是直接继承 ServiceImpl 这个类,不能继承这个类的子类。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值