Resolved [org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ruoyi.test.mapper.ShangMapper.selectList]
时间: 2023-12-04 18:41:38 浏览: 101
org.apache.poi jar包
3星 · 编辑精心推荐
这个错误通常是因为MyBatis找不到或无法匹配接口方法和XML映射文件中的语句引起的。解决此问题的步骤如下:
1.检查mapper接口的包路径和mapper配置文件中的namespace是否匹配。
2.检查mapper配置文件中是否存在与接口方法名称相同的语句。
3.检查mapper接口方法的参数类型是否与mapper配置文件中的语句参数类型匹配。
4.检查mapper配置文件中的语句是否正确,例如语句中的表名、列名是否正确。
以下是可能解决此问题的代码示例:
1.检查mapper接口的包路径和mapper配置文件中的namespace是否匹配。
```xml
<!-- mapper配置文件 -->
<mapper namespace="com.test.mapper.UserMapper">
<select id="selectList" resultType="com.test.entity.User">
select * from user
</select>
</mapper>
// mapper接口
package com.test.mapper;
public interface UserMapper {
List<User> selectList();
}
```
2.检查mapper配置文件中是否存在与接口方法名称相同的语句。
```xml
<!-- mapper配置文件 -->
<mapper namespace="com.test.mapper.UserMapper">
<select id="selectList" resultType="com.test.entity.User">
select * from user
</select>
<select id="selectListById" resultType="com.test.entity.User">
select * from user where id = #{id}
</select>
</mapper>
// mapper接口
package com.test.mapper;
public interface UserMapper {
List<User> selectList();
}
```
3.检查mapper接口方法的参数类型是否与mapper配置文件中的语句参数类型匹配。
```xml
<!-- mapper配置文件 -->
<mapper namespace="com.test.mapper.UserMapper">
<select id="selectListById" resultType="com.test.entity.User">
select * from user where id = #{id}
</select>
</mapper>
// mapper接口
package com.test.mapper;
public interface UserMapper {
User selectListById(Long id);
}
```
4.检查mapper配置文件中的语句是否正确,例如语句中的表名、列名是否正确。
```xml
<!-- mapper配置文件 -->
<mapper namespace="com.test.mapper.UserMapper">
<select id="selectList" resultType="com.test.entity.User">
select * from users
</select>
</mapper>
// mapper接口
package com.test.mapper;
public interface UserMapper {
List<User> selectList();
}
```
阅读全文