1.方法一:#{数字}
#{数字} 0表示第一个参数,1表示第二个参数…
相关知识点:
#{} 这种方式执行SQL命令相当于占位符
${} 这种是字符串拼接
public List selectUserList(String userName, Integer userSex) {
…
};
<select id="selectUserList" resultType="user" >
select user.name,user.sex from user where name=#{0} and sex=#{1}
</select>
2.方法二:#{param1}
#{param1} param1表示第一个参数,param2表示第二个参数…
public List selectUserList(String userName, Integer userSex) {
…
};
<select id="selectUserList" resultType="user" >
select user.name,user.sex from user where name=#{param1} and sex=#{param2}
</select>
3.方法三:@Param(“参数名”) 注解方式
底层实现是通过map来实现的 @param(“参数名”)相当于map的key,后边的String userName / Integer userSex相当于map的value值。
Ps:@Param("")注解是写在Dao层。
List selectUserList(@Param(“userName”) String userName, @Param(“userSex”) Integer userSex);
<select id="selectUserList" resultType="user" >
select user.name,user.sex from user where name=#{userName} and sex=#{userSex}
</select>