查询时不需要写sql,直接把查询条件封装于Example
一,常用方法
1,等于 andEqualTo()
2,排序 example.setOrderByClause()
3,多个值 in(0,1) andIn()
4,大于等于,小于等于 日期查询 andGreaterThenAndEqualTo()
5,模糊查询 andLike()
二,代码实现
Example example = new Example(ApplyEntity.class);
example.setOrderByClause("update_time desc ");
Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel", IsDelE.YES.getValue());
if(StringUtils.isNotEmpty(applyVO.getCompany())){
criteria.andLike("company","%"+applyVO.getCompany()+"%");
}
if(StringUtils.isNotEmpty(applyVO.getParentCompanyName())){
criteria.andLike("parentCompanyName","%"+applyVO.getParentCompanyName()+"%");
}
if(null != applyVO.getIsLook()){
criteria.andEqualTo("isLook",applyVO.getIsLook());
}
if(applyVO.getOrgId() != null ){
criteria.andEqualTo("orgId", applyVO.getOrgId());
}
if(applyVO.getBrandId() != null ){
criteria.andEqualTo("brandId", applyVO.getBrandId());
}
if(applyVO.getVehicleTypeId() != null ){
criteria.andEqualTo("vehicleTypeId", applyVO.getVehicleTypeId());
}
if(statusFlag){
if(applyVO.getStatus() != null ){
if(!(applyVO.getStatus().equals(ApplyStatusE.PASSAPPLY.getValue()) || applyVO.getStatus().equals(ApplyStatusE.NOTPASSAPPLY.getValue()))) {
return ResultUtil.error(RespCode.CHECK_APPLY_PASS_STATUS_ERROR, RespMsg.CHECK_APPLY_PASS_STATUS_ERROR_MSG);
}
criteria.andEqualTo("status", applyVO.getStatus());
} else {
// 默认2.3
List<Integer> status = new ArrayList<>();
status.add(2);
status.add(3);
criteria.andIn("status", status);
// criteria.andEqualTo("status", applyVO.getStatus());
}
} else {
if(applyVO.getStatus() != null ){
criteria.andEqualTo("status", applyVO.getStatus());
}
}
if(applyVO.getIsPrint() != null){
criteria.andEqualTo("isPrint", applyVO.getIsPrint());
}
if(StringUtils.isNotEmpty(applyVO.getName())){
criteria.andLike("name","%"+applyVO.getName()+"%");
}
if(StringUtils.isNotEmpty(applyVO.getIdentity())){
criteria.andLike("identity","%"+applyVO.getIdentity()+"%");
}
if(applyVO.getCreateTimeStart() != null ){
criteria.andGreaterThanOrEqualTo("createTime", applyVO.getCreateTimeStart() );
}
if(applyVO.getCreateTimeEnd() != null ){
criteria.andLessThanOrEqualTo("createTime", applyVO.getCreateTimeEnd());
}
PageHelper.startPage(applyVO.getPageNum(), applyVO.getPageRows());
if(comPanyFlag){
if( obj instanceof CompanyEntity){
CompanyEntity entity = (CompanyEntity) obj;
if(!(entity.getCompanyLevel().equals(LevelStatusE.LEVELTWO.getValue().toString()) || entity.getCompanyLevel().equals(LevelStatusE.LEVELONE.getValue().toString()))) {
// 根据申购企业查询
criteria.andEqualTo("companyId", entity.getId());
return pageResponse(example);
}
// 二级企业
criteria.andEqualTo("parentCompanyId", entity.getId());
}
}
return pageResponse(example);
}