springboot報錯invalid bound statement (not found)


1,概述

springboot啟動web項目后報錯,

invalid bound statement (not found):xxx

 

2,問題分析

這是很常見的一種異常,報錯的情況通常有以下幾種情況:

2.1 語法錯誤

mapper.xml與dao沒有正確對應

 java DAO接口

public void delete(@Param("id") String id);

java對應的mapper.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="xxx.xxx.xxx.xxDao">
    <!-- 刪除數據 -->
    <delete id="delete" parameterType="java.lang.String">
        DELETE FROM xxx WHERE id=#{id}
    </delete>
</mapper>

檢查確認:

a) 接口方法名稱delete和xml中id=“delete”是否一致;

b) xml文件中namespace="xxx.xxx.xxx.xxDao"是否和接口文件路徑一致(點擊能否跳轉到對應的接口類);

c) parameterType和resultType(resultMap)是否准確;

2.2 編譯錯誤

檢查項目 target\classes\路徑下是否存在對應的mapper.xml文件

若不存在則在pom.xml中添加

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
            </excludes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

重新編譯,則出現對應的xml文件(希望把src/main/java下的xml,properties等配置文件,復制到classes目錄中,則加入如上配置);

 2.3  配置錯誤

在配置文件中指定掃描包(mybatis.mapper-locations=classpath*:/xx/xx/mapper/*.xml)時,配置路徑有問題。

 

參考:

https://www.cnblogs.com/momoweiduan/p/9844069.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM