场景
MybatisPlus 条件构造器官方文档
https://baomidou.gitee.io/mybatis-plus-doc/#/wrapper
实现
1.查询相等属性的实体类
QueryWrapper<WmsInOrder> wmsInOrderQueryWrapper =new QueryWrapper<WmsInOrder>();
wmsInOrderQueryWrapper.eq("code",Code);
int count = wmsInOrderMapper.selectCount(wmsInOrderQueryWrapper);
其中WmsInOrder是实体类,code是对应实体类在数据库中的字段。
这里就是查询code字段属性为Code的记录在数据库中的记录数。
如果是两个条件可以继续添加:
wmsReceiveOrderDetailsQueryWrapper.eq("receive_id",wmsReceiveOrder.getId());
wmsReceiveOrderDetailsQueryWrapper.eq("salver_code",salverCode);
wmsReceiveOrderDetailsQueryWrapper.eq("materiel_number",materielNumber);
2.模糊搜索
QueryWrapper<WmsInOrder> wmsInOrderQueryWrapper2 =new QueryWrapper<WmsInOrder>();
wmsInOrderQueryWrapper2.like("code","SI"+formatStr);
List<WmsInOrder> wmsInOrderList =wmsInOrderMapper.selectList(wmsInOrderQueryWrapper2);
这里就是查询code属性中包含"SI"+formatStr字段的记录数,会返回一个List。
其中后面模糊搜索的表达式可以用正常的String包含%来表示:
String likeCode=wmsReceiveOrderDetails.getMaterielNumber()+"@"+wmsReceiveOrderDetails.getSupplierBatch()+"%"+"@"+simpleDateFormat.format(wmsReceiveOrderDetails.getProductDate());
QueryWrapper<BusTrayMateriel> busTrayMaterielQueryWrapper =new QueryWrapper<BusTrayMateriel>();
busTrayMaterielQueryWrapper.like("materiel_bar_code",likeCode);
int count =busTrayMaterielMapper.selectCount(busTrayMaterielQueryWrapper);
3.其他条件参数使用类似
查询方式 | 说明 |
setSqlSelect | 设置 SELECT 查询字段 |
where | WHERE 语句,拼接 + |
and | AND 语句,拼接 + |
andNew | AND 语句,拼接 + |
or | OR 语句,拼接 + |
orNew | OR 语句,拼接 + |
eq | 等于= |
allEq | 基于 map 内容等于= |
ne | 不等于<> |
gt | 大于> |
ge | 大于等于>= |
lt | 小于< |
le | 小于等于<= |
like | 模糊查询 LIKE |
notLike | 模糊查询 NOT LIKE |
in | IN 查询 |
notIn | NOT IN 查询 |
isNull | NULL 值查询 |
isNotNull | IS NOT NULL |
groupBy | 分组 GROUP BY |
having | HAVING 关键词 |
orderBy | 排序 ORDER BY |
orderAsc | ASC 排序 ORDER BY |
orderDesc | DESC 排序 ORDER BY |
exists | EXISTS 条件语句 |
notExists | NOT EXISTS 条件语句 |
between | BETWEEN 条件语句 |
notBetween | NOT BETWEEN 条件语句 |
addFilter | 自由拼接 SQL |
last | 拼接在最后,例如:last("LIMIT 1") |