mybatisforeach循环,传入多个参数
2016-01-28 14:52
239 查看
上代码:
controller:
mapper
xml
controller:
@RequestMapping(value = "/findPage", method = RequestMethod.POST) @ResponseBody public Object findPage(@RequestParam(required=false) String jobCategory,@RequestParam(required=false) String ids,@RequestParam(required=false) String cities) { try { List<Integer> listJob = new ArrayList<Integer>(); List<Integer> listIds = new ArrayList<Integer>(); List<String> listCities = new ArrayList<String>(); //按照城市名称和工种查询 if(StringUtils.isNotBlank(jobCategory) && StringUtils.isNotBlank(cities)){ String[] temp = jobCategory.split(","); String[] cityTemp = cities.split(","); for(int i=0;i<temp.length;i++){ listJob.add(Integer.valueOf(temp[i])); } for(int i=0;i<cityTemp.length;i++){ listCities.add(cityTemp[i]); } List<WebsitesJob> list = jobService.findPage(listJob, listIds, listCities); return new ExtGridReturn(list.size(), list); } //按照工种查询 if(StringUtils.isNotBlank(jobCategory)){ String[] temp = jobCategory.split(","); for(int i=0;i<temp.length;i++){ listJob.add(Integer.valueOf(temp[i])); } } //按照职位名称查询 if(StringUtils.isNotBlank(ids)){ String[] temp = ids.split(","); for(int i=0;i<temp.length;i++){ listIds.add(Integer.valueOf(temp[i])); } } //按照城市查询 if(StringUtils.isNotBlank(cities)){ String[] temp = cities.split(","); for(int i=0;i<temp.length;i++){ listCities.add(temp[i]); } } List<WebsitesJob> list = jobService.findPage(listJob, listIds, listCities); return new ExtGridReturn(list.size(), list); } catch (Exception e) { LOGGER.error("分页获取信息出错", e); return new ExceptionReturn(e); } }
mapper
/** * 描述:根据工种查询列表 * @param jobCategorys * @return */ List<WebsitesJob> findPage(@Param("jobCategorys") List<Integer> jobCategorys,@Param("ids") List<Integer> ids,@Param("workPlace") List<String> workPlace);
xml
<!-- 前台查询列表 --> <select id="findPage" resultType="cn.edu.hbcf.plugin.websites.pojo.WebsitesJob"> select n.ID id, n.NAME name, n.WORKPLACE workPlace, n.JOBCATEGORY jobCategory, n.SALARY salary, n.RESPONSIBILITIES responsibilities, n.REQUIREMENTS requirements, n.ISHOT isHot, n.UPDATEDATE updateDate, n.UPDATEUSER updateUser, u.real_name updateName from websites_job n left join base_users u on n.updateUser = u.account <where> <if test="jobCategorys.size()!=0"> or n.jobCategory in <foreach collection="jobCategorys" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="ids.size()!=0"> or n.id in <foreach collection="ids" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="workPlace.size()!=0"> or n.WORKPLACE in <foreach collection="workPlace" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </if> </where> order by n.ISHOT,n.ID desc </select>
相关文章推荐
- java访问ttserver
- F - 炮兵阵地
- leetcode之Coin Change
- activity的生命周期再理解
- 面向对象编程(二)——对象和类
- CAS单点登录
- shape的案例
- ARC和MRC混编
- 常用設計模式
- C#中Access 连接字符串
- NSDateFormatter 格式
- 调试
- 网络数据包收发流程(四):协议栈之packet_type
- 【Linxu学习003】Linux文本处理相关
- 查看php和apache配置成功的方法
- 个人总结的一些C/C++编码规范
- 进行网络出现问题Error Domain=kCFErrorDomainCFNetwork Code=-1022 "The resource could not be loaded because th
- ARM公司的Cortex内核Cortex-A,Cortex-R和Cortex-M之间有什么区
- CListCtrl控件中InsertItem和SetItemText函数
- status_machine(用于状态管理)