1、不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。
//这里id是user的属性
@Select("SELECT * from Table where id = ${id}")
Enchashment selectUserById(User user);
2、使用@Param注解
表示给参数命名,名称就是括号中的内容。给参数命名,然后在映射文件中就能根据名称获取参数值了。
//这里id是user的属性
@Select("SELECT * from Table where id = ${id}")
Enchashment selectUserById(User user);
2、使用@Param注解
表示给参数命名,名称就是括号中的内容。给参数命名,然后在映射文件中就能根据名称获取参数值了。
/**
* 通过parentId获取内容分类列表
* 给参数parentId进行命名,名称为id,然后在映射文件中,就能通过id获取到参数的值
* 如果不使用@Param注解,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,
* 而且只能引用JavaBean的属性,必须是对象类型。
*
* @param parentId
* @return
*/
List<TbContentCategory> selectContentCatByParentId(@Param("id") long parentId);
映射文件: <!--查询方法:判断传递过来的字段属性是否为空,而不是数据库中的parent_id字段-->
<!--常用的数据类型在哪个数据包下java.lang.Long-->
<select id="selectContentCatByParentId" parameterType="java.lang.Long" resultMap="BaseResultMap">
select * from tb_content_category where
<if test="id != null">
parent_id=#{id}
</if>
</select>