Mybatis-plus异常解决之--org.apache.ibatis.binding.BindingException
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis-plus异常解决之--org.apache.ibatis.binding.BindingException相关的知识,希望对你有一定的参考价值。
参考技术A 使用Mybatis-plus时出现了org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),这种原因:一般就是mapper没有找到mapper.xml中的方法,mybatis-plus去找方法是根据mapper所在的包去找mapper.xml,然后再根据mapper中方法名去找mapper.xml中对应的id的方法。有以下两种解决办法供大家参考:方法一:
@MapperScan(basePackages ="com.test.mapper") 没有写此注解或者application.yml中没有配置mybatis.mapper-locations:classpath:com/test/mapper/*Mapper.xml。 这两处只要有一个地方配置就行了。
方法二:
查看编译的mapper目录和mapper.xml目录是否一样,目录一样才能找到mapper和mapper.xml对应的方法。这里注意一下:可能包名都是一样,但还是报这个问题,我就遇到过这种,这种就看是不是mapper.xml所在的文件夹是com.test.mapper而不是com/test/mapper这种结构,这里需要注意一下。
记录mybatis-plus多数据源批量操作时,数据源切换失效之谜
参考技术A 首先在同一方法中执行两个不同数据源的dml语句,然后发现本应该插入clickhouse的数据跑到的mysql中@DS定义在Mapper层,然后我尝试把saveBatch换成save单条插入,又可以了。于是发现原因了,
批量操作并没有获取Mapper层。
解决方案:
将@DS定义到Service层生效
以上是关于Mybatis-plus异常解决之--org.apache.ibatis.binding.BindingException的主要内容,如果未能解决你的问题,请参考以下文章
mybatis-plus解决 sqlserver批量插入list报错
解决kylin报错 ClassCastException org.apache.hadoop.hive.ql.exec.ConditionalTask cannot be cast to org.ap