zoukankan      html  css  js  c++  java
  • mybatis项目采用mybatis-plus开发,报:Invalid bound statement (not found) 异常,详细解决方案

    1、问题说明

    原有项目用shiro控制权限,要合并到新项目中,新项目中用到mybatis-plus (官网地址:https://mp.baomidou.com/),合并后项目启动不起来。

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

    官网常见问题中有描述问题解决方案:

    描述的比较抽象,弄了半天才解决,记录下,希望对朋友有帮助。

    2、解决方案

    2.1 包的问题

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

            <!-- ***************** 手动引入 **************** -->
            <!-- 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

    就官网解决方案中的使用:MybatisSqlSessionFactoryBean

    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 其他配置问题

    软件老王这边,其他的配置本身就是对的,比如:

    (1)启动类上配置MapperScan

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

    (2)配置文件(property)配置及加载mapper

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

    更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事。

    更多信息请关注公众号:「软件老王」,关注不迷路,IT技术与相关干货分享,回复关键字获取对应干货,本文版权归作者软件老王所有,转载需注明作者、超链接,否则保留追究法律责任的权利。
  • 相关阅读:
    前端资源
    WCF常见异常-The maximum string content length quota (8192) has been exceeded while reading XML data
    Asp.Net MVC路由调试工具-RouteDebugger
    Java中String 的equals 和==详解
    记一次高级java工程师职位的面试
    java中Class对象详解和类名.class, class.forName(), getClass()区别
    2014读书计划
    Javascript quiz
    CSS3 Flexbox布局那些事
    前端开发中的图片优化
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/14569411.html
Copyright © 2011-2022 走看看