Mybatis傳遞多個參數
阿新 • • 發佈:2018-04-17
多個 p s jdbc class HA result pan rar xxx #{0}代表接收的是dao層中的第一個參數,#{1}代表dao層中第二參數,更多參數一致往後加即可。
方案一
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>
其中,
方案二(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傳遞多個參數