org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): person.wgy.dao.BookDao.selectList
时间: 2023-10-14 16:27:32 浏览: 68
JAVA之ibatis2.3.X.ppt
这个异常通常是因为 MyBatis 没有找到对应的 SQL 语句。在你的 mapper 文件中,可能没有定义名为 `selectList` 的 SQL 语句,或者 mapper 文件没有正确的加载。你需要检查以下几点:
1. 检查 mapper 文件是否正确配置了命名空间(namespace),如果没有正确配置,会导致 MyBatis 无法正确加载 mapper 文件。
2. 检查 mapper 文件中是否定义了名为 `selectList` 的 SQL 语句,如果没有定义,需要添加对应的 SQL 语句。
3. 检查 SQL 语句是否正确,如果 SQL 语句错误,也会导致 MyBatis 无法正确加载 mapper 文件。
如果你已经确认以上问题都没有出现,可以尝试在 mapper 文件中添加以下代码片段来查看 MyBatis 是否正确加载了 mapper 文件:
```
<sql id="test">
SELECT 1
</sql>
<select id="testSelect" resultType="int">
${test}
</select>
```
然后在代码中执行以下语句:
```
int result = sqlSession.selectOne("testSelect");
```
如果能够正常执行并返回结果,则说明 MyBatis 已经正确加载了 mapper 文件,你需要检查 SQL 语句是否正确并且是否与 mapper 文件中定义的 ID 一致。如果仍然无法解决问题,可以提供更详细的错误信息以便更好地定位问题。
阅读全文