MyBatis中带条件的多表分页查询

1.两个表对应的实体

public class Subarea implements Serializable{
    private String id;

    private String decidedzoneId;

    private String regionId;

    private String addresskey;

    private String startnum;

    private String endnum;

    private String single;

    private String position;

    //封装和区域表的联查结果
    private  Region  region;
        ...
        ...
        ...
}



public class Region implements Serializable{
    private String id;

    private String province;

    private String city;

    private String district;

    private String postcode;

    private String shortcode;

    private String citycode;


            ...
            ...
            ...
}






1.Controller 

 /**
     * 分页查询
     * @return
     */
    @RequestMapping("/SubAreaController/list.action")
    @ResponseBody
    public PageBean list(Subarea subarea,@RequestParam(defaultValue = "1") Integer page,
                         @RequestParam(defaultValue = "10")Integer rows) throws Exception {
        PageBean pageBean = new PageBean();
        pageBean.setCurrentPage(page);
        pageBean.setPageSize(rows);
        if(subarea.getRegion() == null){
            subAreaService.list(pageBean);
        }else{
            subAreaService.selectByConditions(pageBean,subarea);
        }
        return pageBean;
    }

2.service层

 /**
     * 带条件的分页查询
     * @param pageBean
     * @param subarea
     * @throws Exception
     */
    @Override
    public void selectByConditions(PageBean pageBean, Subarea subarea) throws Exception {
        PageHelper.startPage(pageBean.getCurrentPage(),pageBean.getPageSize());
        List subareas = subareaMapper.selectByConditions(subarea);
        PageInfo subareaPageInfo = new PageInfo<>(subareas);
        pageBean.setTotal(subareaPageInfo.getTotal());
        pageBean.setRows(subareaPageInfo.getList());
    }

3.Mapper接口

 List selectByConditions(Subarea subarea);

 

4.Mapper.xml文件

  
    
    
    
    
    
    
    
    
      
      
      
      
      
    
  
  

 

你可能感兴趣的:(mybatis多表查询)