Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value f
知识就是力量,时间就是生命。这篇文章主要讲述Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value f相关的知识,希望能为你提供帮助。
报错:
解决方案一:
Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for FormulaDetailMapper.findByfIdAndmId............
【Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value f】经测试应该是忘了使用@Param。当只有一个参数时,Mapper中可以不使用
public void insertAdmin(String username);
但是有多个参数时必须用:
public void insertAdmin(@Param("username")String username,@Param("password")String password);
解决方案二:
- 检查配置文件是否正确
- 检查SQL语句拼写是否正确
- 检查参数是否完整
解决方案三:
3.1.检查该Mapper文件中的所有方法,查看是否有id重复的方法;
3.2.检查方法中的parameterType和resultType,查看相应的参数类型是否有错误。
熟读mybatis,正确使用配置节点:
< !-- 通过resultMap映射实体类和表字段的关系 -->
< resultMap type="Menu" id="menuResultMap">
< !-- 用id属性来映射主键字段 -->
< id column="MENU_ID" property="MENU_ID"/>
< !-- 用result属性来映射非主键字段 -->
< result column="MENU_NAME" property="MENU_NAME"/>
< result column="PARENT_ID" property="PARENT_ID"/>
< result column="MENU_ORDER" property="MENU_ORDER"/>
< /resultMap>
< !--表名 -->
< sql id="tableName">
SYS_MENU
< /sql>
< !-- 字段 -->
< sql id="Field">
MENU_ID,
MENU_NAME,
PARENT_ID,
MENU_ORDER,
< /sql>
< !-- 字段值 -->
< sql id="FieldValue">
#{MENU_ID},
#{MENU_NAME},
#{PARENT_ID},
#{MENU_ORDER}
< /sql>
< !--新增 -->
< insert id="insertMenu" parameterType="Menu">
insert into
< include refid="tableName"> < /include>
(
< include refid="Field"> < /include>
) values (
< include refid="FieldValue"> < /include>
)
< /insert>
< !--删除菜单-->
< delete id="deleteMenuById" parameterType="String">
delete from
< include refid="tableName"> < /include>
where MENU_ID=#{MENU_ID}
< /delete>
< !--编辑 -->
< update id="updateMenu" parameterType="Menu">
update
< include refid="tableName"> < /include>
set
MENU_NAME =#{MENU_NAME},
MENU_URL=#{MENU_URL} ,
MENU_ORDER=#{MENU_ORDER},
MENU_STATE=#{MENU_STATE},
MENU_TYPE =#{MENU_TYPE}
where
MENU_ID=#{MENU_ID}
< /update>
< !--通过菜单ID获取数据 -->
< select id="getMenuById" parameterType="pd" resultType="pd">
select
< include refid="Field"> < /include>
from
< include refid="tableName"> < /include>
where MENU_ID=#{MENU_ID}
< /select>
以下为mybatis 各配置文件官方文档 ,客官,请过目:??MYTAIS XML配置 ??? ?? XML映射文件??
??动态 SQL??
??Java API?????SQL语句构建器类?????日志??
推荐阅读
- #yyds干货盘点#使用HTTPS加密网页数据
- #yyds干货盘点# NGINX架构安装
- 新手指南严重: Exception sending context initialized event to listener instance of class
- linux如何将输出重定向到文件和标准输出
- 简单工厂模式
- k8s pod频繁自动重启
- k8s集群中节点退出重入
- 记一次 Spring Boot 中 @Transactional事务中使用内置锁限制总数失效的BUG
- 严重: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener