Mapped Statements collection does not contain value for 解决方法

Mapped Statements collection does not contain value for 解决方法

初学者学习mybatis总会遇到一些错误,当然mybatis现在改名为Ibatis了,不过不重要,

在这里插入图片描述遇到问题怎么办?解决问题
先看错误原因,说是映射语句不包含值,为什么呢,因为错误中提示的信息围绕着findBookById 方法—经过检查是mapper.xml位置写的不对
一,检查mybatis配置文件





<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>

在这里插入图片描述

这里是斜杠分割不是点号

二,
Mapped Statements collection does not contain value for 解决方法_第1张图片Mapped Statements collection does not contain value for 解决方法_第2张图片

这两处都是点号分割;

Mapped Statements collection does not contain value for 解决方法_第3张图片

总结在java中凡是带扩展名的都是 “/"(斜杠)进行分割,不带的就是点号进行分割

还有一点,我自己发现的—不知正确与否,先写下来—
mapper文件如果放在根目录下,按理说直接写BookMapper就可以了,但是也会报上述错误或者找不到mapper,是不是只能单独找个包存放他?

你可能感兴趣的:(Database_All,spring,异常,mybatis,mysql,java,jdbc,sql)