mybatis plus org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ut.crypto.mapper.DemoMapper.selectCount
时间: 2023-12-15 08:32:54 浏览: 131
根据提供的引用内容,可以看出出现了`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)`异常,这通常是因为MyBatis无法找到对应的SQL语句引起的。在这个例子中,MyBatis无法找到`com.ut.crypto.mapper.DemoMapper.selectCount`语句。
解决这个问题的方法是检查`DemoMapper.xml`文件中是否存在`selectCount`语句,并且检查语句的id是否与`DemoMapper.java`中的方法名相同。如果存在不同,需要将它们改为相同的名称。
以下是一个可能的解决方案:
1.检查`DemoMapper.xml`文件中是否存在`selectCount`语句,并且检查语句的id是否与`DemoMapper.java`中的方法名相同。
```xml
<!-- DemoMapper.xml -->
<mapper namespace="com.ut.crypto.mapper.DemoMapper">
<select id="selectCount" resultType="java.lang.Integer">
SELECT COUNT(*) FROM demo_table
</select>
</mapper>
```
```java
// DemoMapper.java
package com.ut.crypto.mapper;
public interface DemoMapper {
Integer selectCount();
}
```
2.如果语句和方法名相同,检查`DemoMapper.xml`文件是否正确地映射了`DemoMapper.java`中的方法。
```xml
<!-- DemoMapper.xml -->
<mapper namespace="com.ut.crypto.mapper.DemoMapper">
<select id="selectCount" resultType="java.lang.Integer">
SELECT COUNT(*) FROM demo_table
</select>
</mapper>
```
```java
// DemoMapper.java
package com.ut.crypto.mapper;
public interface DemoMapper {
Integer selectCount();
}
```
3.如果以上两个步骤都没有解决问题,检查`DemoMapper.xml`文件是否正确地映射了`DemoMapper.java`中的方法,并且检查`DemoMapper.xml`文件中的命名空间是否正确。
```xml
<!-- DemoMapper.xml -->
<mapper namespace="com.ut.crypto.mapper.DemoMapper">
<select id="selectCount" resultType="java.lang.Integer">
SELECT COUNT(*) FROM demo_table
</select>
</mapper>
```
```java
// DemoMapper.java
package com.ut.crypto.mapper;
public interface DemoMapper {
Integer selectCount();
}
```
阅读全文