Mybatis-plus Invalid bound statement (not found) 的一种解决办法

前言

最近想在项目中使用 mp, 直接导入 maven 依赖后发现没法使用, 一直报 Invalid bound statement (not found) 错误, 百度了许久终于发现了问题所在

原因

项目里使用了自定义数据源, 自定义的 sqlSessionFactory, mp 需要使用它的 com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean 才能完成 BaseMapper<T> 的注入操作

解决

知道了原因, 解决办法也就很简单了, 项目自定义的数据源不用动, 重新写一个类继承 com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
例如:
image
在初始化时做一些配置操作
image
需要注意的是, 这样似乎是没法使用 application.yml 之类的配置文件配置一些 mp 的设置的, 得手动处理, 比如 banner、camel、interceptor 等都得手动配置
自定义数 SqlSessionFactory 写完了再到 Application 类上做些配置就好了
配置 bean
image
配置 MapperScan
image

posted @ 2022-08-12 20:07  博麗靈夢  阅读(265)  评论(0编辑  收藏  举报