MyBatisPlus实现后端集合查询------in

简介: MyBatisPlus实现后端集合查询------in

今天前端传来一个json数据

"point": [1,2,3,4,5,6]

在后端要通过这个查询

本来想着语句是下面这种,结果不是,自己想法太简单了

SELECT * FROM statistics_displacement WHERE POINT = '1' AND POINT = '2' ;

改了语句,用的in关键字

SELECT * FROM statistics_displacement  WHERE POINT IN ('1','2');

主要是下面这段代码,才实现了组合查询

queryWrapper.in("point", points);
@Override
    public void ComplexQuery(Page<StatisticsDisplacement> pageParam, ComplexQuery complexQuery) {
        QueryWrapper<StatisticsDisplacement> queryWrapper = new QueryWrapper<>();
//        queryWrapper.orderByAsc("sort");
        if (complexQuery == null){
            baseMapper.selectPage(pageParam, queryWrapper);
            return;
        }
        //传入list集合
        List points = complexQuery.getPoints();
        System.out.println("=================");
        System.out.println(points);
        System.out.println("=================");
        Integer data = complexQuery.getData();
        String begin = complexQuery.getBegin();
        String end = complexQuery.getEnd();
        //复杂查询
        queryWrapper.in("point", points);
        if (!StringUtils.isEmpty(data) ) {
            queryWrapper.eq("data", data);
        }
        if (!StringUtils.isEmpty(begin)) {
            queryWrapper.ge("gmt_create", begin);
        }
        if (!StringUtils.isEmpty(end)) {
            queryWrapper.le("gmt_create", end);
        }
        baseMapper.selectPage(pageParam, queryWrapper);
    }

后端语句

SELECT id,date_calculated,real_time,x_dis,y_dis,h_dis,two_dis,three_dis,point,data,gmt_create,gmt_modified FROM statistics_displacement WHERE point IN (?,?) AND data = ? AND gmt_create >= ? AND gmt_create <= ? LIMIT 0,5 
Parameters: 1(Integer), 2(Integer), 1(Integer), 2018-12-20 11:17:12(String), 2018-12-30 11:17:12(String)

这个enity实体类是

package com.chx.disService.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "数据查询对象", description = "数据查询对象封装")
@Data
public class ComplexQuery implements Serializable {
    //这个是api后面的解释
    @ApiModelProperty(value = "测点名称 1号监测点 2号监测点")
    private List points;
    @ApiModelProperty(value = "实时数据 1小时数据 2小时数据")
    private Integer data;
    @ApiModelProperty(value = "查询开始时间", example = "2018-12-20 11:17:12")
    private String begin;//注意,这里使用的是String类型,前端传过来的数据无需进行类型转换
    @ApiModelProperty(value = "查询结束时间", example = "2018-12-30 11:17:12")
    private String end;
}


下次集合查询就要用关键字in

相关文章
|
1天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
40 0
|
1天前
|
Java 数据库连接 mybatis
Mybatis 多级分类查询
Mybatis 多级分类查询
18 0
|
1天前
|
Java 关系型数据库 数据库连接
MyBatis Plus 解决大数据量查询慢问题
MyBatis Plus 解决大数据量查询慢问题
|
1天前
|
SQL 缓存 Java
mybatis 一对多查询
mybatis 一对多查询
22 0
|
1天前
|
SQL
MyBatis-Plus-Join关联查询
MyBatis-Plus-Join关联查询
|
1天前
|
SQL XML Java
MyBatis-Plus多表关联查询
MyBatis-Plus多表关联查询
|
1天前
|
SQL Java 关系型数据库
Mybatis多表关联查询与动态SQL(下)
Mybatis多表关联查询与动态SQL
12 0
|
1天前
|
SQL Java 数据库连接
Mybatis多表关联查询与动态SQL(上)
Mybatis多表关联查询与动态SQL
9 0
|
1天前
|
SQL XML API
Mybatis-Plus实现查询操作
Mybatis-Plus实现查询操作
18 0
Mybatis-Plus实现查询操作
|
1天前
|
Java 数据库连接 mybatis
MyBatis-Plus查询工具类
MyBatis-Plus是一个MyBatis的增强工具类库,提供了许多实用的查询工具类。
8 0