Mybatis傳遞多個引數的三種實現方法
阿新 • • 發佈:2020-04-09
方案一
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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。