> 文档中心 > MyBatis传多个参数接口展示

MyBatis传多个参数接口展示

接口在传多个参数

可能遇到映射文件无法获得传入的参数

这里展示一个测试多个参数接口方法

我采用的方法是将多个参数放入Map里

无需再更改接口名注释

大家可以看下做下参考(主要还是自己记录 防止忘记)


controller层

    @GetMapping(value = "/getFan")    public AjaxResult getFan(@RequestParam(name = "ids", required = false) Long[] ids,    @RequestParam(name = "stagingIds", required = false) Long[] stagingIds,    @RequestParam(name = "circuitIds", required = false) Long[] circuitIds,    @RequestParam(name = "simplifyCode", required = false) String[] simplifyCode) { Map map = new HashMap(); if (ids != null && ids.length > 0) {     map.put("ids", ids); } if (stagingIds != null && stagingIds.length > 0) {     map.put("stagingIds", stagingIds); } if (circuitIds != null && circuitIds.length > 0) {     map.put("circuitIds", circuitIds); } /  * mybatis多个参数用map接收  */ List fanByIds = basicFanService.getCustomStandard(map); return AjaxResult.success(fanByIds);}

service层

    List getCustomStandard(Map map);

impl层

    @Override    public List getCustomStandard(Map map) { return basicFanMapper.getCustomStandard(map);    }

mapper文件

     select ....省略         and bf.id in      #{id}                and bf.staging_id in      #{id}                and bf.circuit_id in      #{id}           

controller层写好后 主要是mapper文件的格式

map接收的参数名必须和collection里参数名一样 否则也会找不到参数!