上代码:

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>

mybatisforeach循环,传入多个参数的更多相关文章

  1. useEffect传入第二个参数陷入死循环

    最近新项目刚上手,就用了react的hooks,之前也看过hooks的不少文章,只是还没实战实战. 业务场景1:需要在页面一开始时得到一个接口的返回值,取调用另一个接口. 我的思路是,先设置这个接口的 ...

  2. 每日一记-mybatis碰到的疑惑:String类型可以传入多个参数吗

    碰到一个觉得很疑惑的问题,Mybatis的parameterType为String类型的时候,能够接收多个参数的吗? 背景 初学Mybatis的时候,看的教程和书籍上都是在说基本的数据类型如:int. ...

  3. mybatis传入多个参数

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  4. mybatis从dao传入多个参数到sqlmap时dao中要使用map或实例对象(如:user)作为参数传入, 否则报错找不到属性getter方法

    23:37 2015-07-02 注意1. 使用mybaits的resultMap查询时, 如果想传入多个参数(比如where 1=1动态多条件查询时)sqlmap文件中对应的方法中, selectL ...

  5. Mybatis 接口传入多个参数 xml怎么接收

    mybatis 在接口上传入多个参数 1.如果传入的参数类型一样. Map<String, String> queryDkpayBindBankCidByOriBindAndBankCid ...

  6. 小峰mybatis(2)mybatis传入多个参数等..

    一.mybatis传入多个参数: 前面讲传入多个参数都是使用map,hashmap:key value的形式:-- 项目中开发都建议使用map传参: 比如现在通过两个参数,name和age来查询: 通 ...

  7. postgresql Java JDBC 一次性传入多个参数到 in ( ?) - multple/list parameters

    经常不清楚需要传入多少个参数到 IN () 里面,下面是简单方法: 方法 1 - in ( SELECT * FROM unnest(?)) ) Integer[] ids={1,2,3};      ...

  8. js中的方法如何传入多个参数

    js中的方法如何传入多个参数 $(function () { let parameter1 = 1; let parameter2 = 'Hello World'; let parameter3 = ...

  9. (转)MyBatis传入多个参数的问题

    背景:记录mybaitis的使用方法,博闻强记,后面尽量记忆使用. MyBatis传入多个参数的问题 MyBatis传入多个参数的问题 详细记录mybatis在传递多个参数时候的使用方法 关于Myba ...

  10. MyBatis如何传入多个参数

    一.单个参数 mapper public List<Test> getTestList(String id); xml <select id = "getTestList& ...

随机推荐

  1. fedora安装软件

    jdk 1.下载rpm包 注意32位还是64位,注意是rpm格式 2.安装 sudo rpm -ivh jdk.rpm sudo update-alternatives --config java # ...

  2. 阿里云搭建基于PPTP的VPN(Windows Server 2008)

    由于阿里云在网络上分为两张网卡,一张内网,另一张是外网,所以在搭建PPTP的VPN时需要特殊处理. 实现步骤: 通过以上配置即可拨号成功 下面是通过NFS策略进行控制访问  完成后,即可拨号上网. 下 ...

  3. Linux中的TUN/TAP设备

    今天才发现这家伙...怎么讲...深以为耻.晚上的任务是加深对它的了解,就这么定了. 1. General questions.1.1 What is the TUN ?  The TUN is Vi ...

  4. view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的

    view视图文件中的input等输入框必须含有name属性,不然控制器里的动作formCollection是没有值的,就是没有name属性,后台获取不到值

  5. 添加已有项目到git rep

    cd yourproject——homegit init //在当前项目目录中生成本地git管理,建立一个隐藏.git目录 git add src //添加你想用git管理的代码的目录 git com ...

  6. php升级

    由于5.3版本不支持[]数组简单声明,故升级版本. apt-get install python-software-properties apt-get install -y ppa-purge ad ...

  7. Unity3d三大光照渲染介绍

      重要:在目前市面上常见的游戏引擎中,主要采用以下三种灯光实现方式: 顶点照明渲染路径细节 Vertex Lit Rendering Path Details 正向渲染路径细节 Forward Re ...

  8. 反射型xss绕过IE xss filter

    反射xss利用方法,绕过IE XSS Filter 假设 1.php页面代码如下: echo $_GET['str']; 使用IE浏览器访问该页面 1.php?str=<xss code> ...

  9. CruiseControl.NET学习总结(转载)

    前些日子,总结了一个NAnt的学习总结.后来就放下了,松散了一阵子.CruiseControl.NET(以下称CC.NET),是我在学习完NAnt以后才开始看的,当时学起来就是在网上疯狂的找资料.现在 ...

  10. jquery uploadify 使用

    /*进度条框*/ .shangchuantishikuang { border: 7px solid #74A5BF; background-color: white; font-size: 14px ...