美文网首页@IT·互联网
mybatisplus updateById 报错Invali

mybatisplus updateById 报错Invali

作者: 会转圈儿的冷冷凉 | 来源:发表于2024-09-13 09:11 被阅读0次

    先上解决方案:

    我的现象是:
    1.其他类的mapper都是好用的 编译不报错
    2.mybatisplus自带的 updateById和selectById报这个错误 自己手写mapper.xml中的方法无错误
    3.深入源码 发现mybatis加载mapper后的集合中 没有缓存我这个mapper的updateById和selectById 其它键值对是有的
    实体中主键没有配置

    @TableId(value = "transport_car_id",type = IdType.AUTO)
    

    堆栈信息如下:

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxx.mapper.mysql.XXXXMapper.updateById
        at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:225)
        at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48)
        at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
        at com.sun.proxy.$Proxy216.updateById(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
        at com.sun.proxy.$Proxy217.updateById(Unknown Source)
    
    

    网上搜了好多文章 都是接口Mapper和Mapper.xml 未对应 命名空间写的不对,类加载配置文件路径问题 谁知只是个主键问题 特此记录一下2个多小时的努力,原来之前的代码一直有问题,只有这个mapper 被注解为

    @Repository
    

    哈哈,希望现象和我一样的小伙伴能看到~ 也希望之后的plus版本能给个友好的提示

    相关文章

      网友评论

        本文标题:mybatisplus updateById 报错Invali

        本文链接:https://www.haomeiwen.com/subject/xgcvljtx.html