1. 程式人生 > >Mybatis傳遞多個參數

Mybatis傳遞多個參數

多個 p s jdbc class HA result pan rar xxx

方案一

  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> 

Mybatis傳遞多個參數