记录下这个经常会遇见的坑,如果我们定义的方法参数只有一个,并且是基本类型或者对应的包装类或者String类型的话,在mapper文件中需要用value来表示这个参数:
public List<SysMenu> querySysMenuTree(Integer id);
<select id="querySysMenuTree" parameterType="integer" resultMap="subSysMenuTreeMap" useCache="true">
SELECT `id`,`parent_id`,`name`,`desc` FROM sys_menu WHERE
<choose>
<when test=" value!=null and value!='' ">
id = #{value}
</when>
<otherwise>
parent_id = 0
</otherwise>
</choose>
</select>
我的这里value就是变量id