Invalid bound statement (not found)

 

Invalid bound statement (not found)

出现此问题原因有:

1。mapper文件namespace和dao路径对应
<mapper namespace="com.ccr.dao.UserDao">
    <select id="findAll" resultType="User">
        select * from user_table
    </select>
</mapper>

2.UserDao的方法在UserMapper.xml中没有,然后执行UserDao的方法会报此

3.UserDao的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType!

4.
SqlSessionFactoryBean 并没有加载到对应的mapper xml文件,当然执行方法的时候也就找不到dao所对应的mapper,而无法执行对应的sql,查看maven target 的classes目录下也并没有mapper的xml文件出现。

原因:mapper文件并不是放在resource中,而是在java目录,maven编译的时候并没有把xml文件编译进来。

解决:在pom文件中添加resource编译

<build>
<resources>
    <resource>
        <!--此处配置到java是因为mapper.xml文件在java目录-->
        <directory>src/main/java</directory>
        <includes>
            <include>**/*</include>
        </includes>
        <filtering>false</filtering>
    </resource>
</resources>
</build>