第一种:dao层函数传递
Mapper.xml使用#{参数索引},索引是从0开始
第二种,使用map传递多参数
Mapper.xml使用 #{key}来获取参数值
但是此方法不够直观,开发时不知道需要 传递参数
第三种,使用dao函数传递,使用@Param注解
Mapper.xml参数值通过 #{参数名}来获取
Dao层:
Public User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);
对应Mapper.xml,
<select id=" selectUser" resultMap="BaseResultMap">
select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>
此方法对需要传递的参数一目了然
总结:
1,mapper接口参数如果是(param1,param2,param3),其中这些参数是简单的类,比如string,数据类型这些。 在xml中直接根据参数索引获取 #{0},#{1}
2,mapper接口参数如果是Map,其中有key有key1,key2,mapper.xml则通过#{key1},#{key2}来获取
3,mapper接口参数使用@Param 例如 (@Param String p1,@Param String p2),则可以使用#{p1},#{p2}获取参数