Mapper: public List<TaskDic> listNewTask(@Param("userId")String userId,@Param("taskType") Integer type); xml: 不要加 parameterType 因為這裡有String 和 Integer兩個類型,這裡指定不了 <select id="listNewTask" resultMap="TaskDicResultMap"> select tk.id,tk.task_name,tk.task_type,tk.task_exp,utk.task_status from b_uc_task tk left join b_uc_user_task utk on tk.id = utk.task_id and utk.user_id = #{userId} where tk.task_type = #{taskType} </select> test: @Test public void listNewTask(){ System.out.println(userTaskMapper.listNewTask("22341",2).size()); }
方法二:將多個參數丟到一個Map中,傳遞Map
Mapper: public List<TaskDic> listNewTask(Map<String, Object> map); xml:parameterType="map" <select id="listNewTask" parameterType="map" resultMap="TaskDicResultMap"> select tk.id,tk.task_name,tk.task_type,tk.task_exp,utk.task_status from b_uc_task tk left join b_uc_user_task utk on tk.id = utk.task_id and utk.user_id = #{userId} where tk.task_type = #{taskType} </select> test: public void listNewTask(){ Map<String, Object> map = new HashMap<String, Object>(); map.put("userId", "22341"); map.put("taskType", 2); System.out.println(userTaskMapper.listNewTask(map).size()); }