1. 程式人生 > 程式設計 >Mybatis傳遞多個引數的三種實現方法

Mybatis傳遞多個引數的三種實現方法

方案一

  Dao層的函式方法

   1 Public User selectUser(String name,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>

其中,#{0}代表接收的是dao層中的第一個引數,#{1}代表dao層中第二引數,更多引數一致往後加即可。

方案二(Map傳值)

  Dao層的函式方法

   1 Public User selectUser(Map paramMap);

  對應的Mapper.xml 

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

Service層呼叫

Private User xxxSelectUser(){
  Map paramMap = new hashMap();
  paramMap.put(“userName”,”對應具體的引數值”);
  paramMap.put(“userArea”,”對應具體的引數值”);
  User user=xxx. selectUser(paramMap);
}

方案三(推薦)

  Dao層的函式方法

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

  對應的Mapper.xml

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。