Mapped Statements collection does not contain value for 解决方法
初学者学习mybatis总会遇到一些错误,当然mybatis现在改名为Ibatis了,不过不重要,
遇到问题怎么办?解决问题
先看错误原因,说是映射语句不包含值,为什么呢,因为错误中提示的信息围绕着findBookById 方法—经过检查是mapper.xml位置写的不对
一,检查mybatis配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- mybatis 配置约束 -->
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0/ /EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 配置信息如下 -->
<configuration>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/bookstore?serverTimezone=UTC" />
<property name="username" value="root" />
<property name="password" value="955945" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="ceshi/BookMapper.xml" />
</mappers>
</configuration>
总结在java中凡是带扩展名的都是 “/"(斜杠)进行分割,不带的就是点号进行分割
还有一点,我自己发现的—不知正确与否,先写下来—
mapper文件如果放在根目录下,按理说直接写BookMapper就可以了,但是也会报上述错误或者找不到mapper,是不是只能单独找个包存放他?