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
例如:
在初始化时做一些配置操作
需要注意的是, 这样似乎是没法使用 application.yml
之类的配置文件配置一些 mp 的设置的, 得手动处理, 比如 banner、camel、interceptor 等都得手动配置
自定义数 SqlSessionFactory
写完了再到 Application
类上做些配置就好了
配置 bean
配置 MapperScan