Mybatis传递多个参数

 

方案一

  Dao层的函数方法

   1 Public User selectUser(String name,String area); 

   对应的Mapper.xml

1 <select id=" selectUser" resultMap="BaseResultMap">
2     select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
3 </select>

其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

方案二(Map传值)

  Dao层的函数方法

   1 Public User selectUser(Map paramMap); 

  对应的Mapper.xml 

1 <select id=" selectUser" parameterType="map" resultMap="BaseResultMap">
2     select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
3 </select>

Service层调用

1 Private User xxxSelectUser(){
2     Map paramMap = new hashMap();
3     paramMap.put(“userName”,”对应具体的参数值”);
4     paramMap.put(“userArea”,”对应具体的参数值”);
5     User user=xxx. selectUser(paramMap);
6 }

 

方案三(推荐)

  Dao层的函数方法

    1 Public User selectUser(@Param(“userName”) String name,@Param(“userArea”) String area); 

  对应的Mapper.xml

1 <select id=" selectUser" parameterType="map" resultMap="BaseResultMap">
2     select * from user_user_t where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
3 </select> 

猜你喜欢

转载自www.cnblogs.com/DDgougou/p/8861599.html