mybatis項目採用mybatis-plus開發,報:Invalid bound statement (not found) 異常,詳細解決方案

一、問題說明

原有項目用shiro控制權限,要合併到新項目中,新項目中用到mybatis-plus (官網地址:https://mp.baomidou.com/),合併後項目啓動不起來。java

報:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)。spring

官網常見問題中有描述問題解決方案:sql

描述的比較抽象,弄了半天才解決,記錄下,但願對朋友有幫助。apache

二、解決方案

2.1 包的問題

以下pom文件配置,刪除mybatis-spring包和mybatis-plus包,使用:mybatis-plus-boot-starter包。session

<!-- ***************** 手動引入 **************** -->
        <!-- mybatis-spring -->
<!--        <dependency>-->
<!--            <groupId>org.mybatis</groupId>-->
<!--            <artifactId>mybatis-spring</artifactId>-->
<!--            <version>${mybatis-spring.version}</version>-->
<!--        </dependency>-->
        <!-- pagehelper-spring-boot-starter -->
     
<!--        <dependency>-->
<!--            <groupId>com.baomidou</groupId>-->
<!--            <artifactId>mybatis-plus</artifactId>-->
<!--            <version>3.4.2</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

2.2 使用MybatisSqlSessionFactoryBean

就官網解決方案中的使用:MybatisSqlSessionFactoryBeanmybatis

import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
public class MybatisPlusConfig {
    @Autowired
    private DataSource dataSource;

    @Bean
    public MybatisSqlSessionFactoryBean mybatisSqlSessionFactoryBean() {
        MybatisSqlSessionFactoryBean mybatisPlus = new MybatisSqlSessionFactoryBean();
        mybatisPlus.setDataSource(dataSource);
        return mybatisPlus;
    }
}

2.3 其餘配置問題

軟件老王這邊,其餘的配置自己就是對的,好比:app

(1)啓動類上配置MapperScanspring-boot

@MapperScan({"com.laowang.db.mapper"})

(2)配置文件(property)配置及加載mapperspa

mybatis-plus.mapper-locations:classpath*:/mapper/*.xml

更多信息請關注公衆號:「軟件老王」,關注不迷路,軟件老王和他的IT朋友們,分享一些他們的技術看法和生活故事。code

相關文章
相關標籤/搜索