前言
小编做编辑模板名称的功能时,需要修改数据实体中一个字段,所以没有必要以实体为参数,只需要传两个参数就可以,id、name。
但是mapper中接收的paramType一般是“String”或者一个实体,没有出现接收两个参数的情况。通过查找博客分析思路,找到了一个非常方便的注解@Param。
只需在Dao层添加注解
Dao层的代码
void updateNamebyId(@Param("id") String id,@Param("name") String name);
不加@Param也可以,不过这为了传递多个参数,并使Mapper.xml文件识别,故使用@Param。
Mapper文件
parameterType可以写“java.util.Map”,也可以不写。一般默认的是Map。
<update id="updateNamebyId" parameterType="java.util.Map">
UPDATE tip_templet_appraise
SET name = #{name}
WHERE id = #{id}
</update>
小结
在实现这个接口时,自己尝试了很长时间,中间将@Param放在了Dao上一层ServiceImpl的参数列表,导致@Param没有生效,几乎要放弃这种方法,去使用传递整个实体,最后一次尝试,发现写错了地方,还好我没放弃~~~!
感谢您的访问!
本文介绍如何在MyBatis中使用@Param注解来优化参数传递,实现更灵活的SQL映射。通过具体示例,展示了在DAO层添加@Param注解的方法,以及在Mapper文件中如何正确配置参数类型,从而避免传递整个实体,提高代码的可读性和维护性。
7096





