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,是不是只能单独找个包存放他?

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐