美文网首页
超详细-springboot+mybatisplus使用xml找

超详细-springboot+mybatisplus使用xml找

作者: 进击的奥莉 | 来源:发表于2020-07-09 13:07 被阅读0次

    今天在做项目,sql语句比较复杂,所以使用了xml自定义SQL进行查询,奈何一直报错

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zyh.springboot.mapper.BorrowMapper.findList
    

    网上找了好多方法,还是云里雾里的,因为不知道项目的目录,导致文件路径写的不正确,今天整理一份,帮助大家的同时也给自己留个备份.
    1,首先,请看我的项目目录,我的xml文件放在mapper/xml之下

    MP-xml.png
    2,在application.yml新增如下内容.很多同学其实在项目初就添加了mybatis-plus,那就在最后添加
    mapper-locations: classpath:/com/zyh/springboot/mapper/xml/.xml.
    此处注意:包之间不是用.链接,比如com.zyh.springboot 这样是不正确的
    大家可以看到,我的mapper-locations路径就是我的xml的路径
    #打印sql语句
    mybatis-plus:
      configuration:
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
        map-underscore-to-camel-case: true  # 开启驼峰命名
      type-aliases-package: com.zyh.springboot.entity
      mapper-locations: classpath*:/com/zyh/springboot/mapper/xml/*.xml
    

    3,在pom.xml的<build>添加xml资源.这一步很重要,不添加,也是一直报错.
    这个不用管路径,只需要填写*/.xml 即可

    <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
            <resources>
                <!--引入mapper对应的xml文件-->
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
        </build>
    

    4,保存代码,运行环境,可以找到mapper了.

    相关文章

      网友评论

          本文标题:超详细-springboot+mybatisplus使用xml找

          本文链接:https://www.haomeiwen.com/subject/zxwjcktx.html