通用查询条件构造工具类 GenericQueryUtil
GenericQueryUtil用于快速构造通用查询对象,主要配合GenericExtendService使用,本章讲解可以构造哪些条件及使用方式。
使用通用查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| UserBO bo = new UserBO(); bo.setPage(1); bo.setPageSize(200);
User vo = new User(); vo.setEnabledFlag(EnabledFlag.ENABLED.getValue()); bo.setVo(vo);
GenericQueryExample generic = new GenericQueryExample();
List<GenericQuery> vos = new ArrayList<>();
GenericQuery genericQuery = new GenericQuery();
genericQuery.setPropertyName("phone");
genericQuery.setColumnName("phone");
genericQuery.setType(GenericQueryExample.TYPE_STRING);
genericQuery.setOperation(GenericQueryExample.IS_EQUAL);
genericQuery.setValues(Collections.singletonList("13811112222"));
genericQuery.setConditionOperation(GenericQueryExample.CONDITIONOPERATION_AND);
genericQuery.setFrontBrackets("(");
genericQuery.setPostBrackets(")"); vos.add(genericQuery);
if (vos != null && vos > 0) { vos.get(generic.getVos().size() - 1).setConditionOperation(null); }
generic.setVos(vos); bo.setGeneric(generic);
Pagination<User> pagination = Pagination.getInstance4BO(userBO); userService.search(pagination);
|
使用GenericQueryUtil简化代码
1 2 3 4
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equalsOr("phone", GenericQueryExample.TYPE_STRING, "13812345678")); vos.add(GenericQueryUtil.equals("phone", GenericQueryExample.TYPE_STRING, "13811112222"));
|
equals (eq)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery equals(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("phone", GenericQueryExample.TYPE_STRING, "13812345678")); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode()));
|
equalsOr (eq)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery equalsOr(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equalsOr("phone", GenericQueryExample.TYPE_STRING, "13812345678")); vos.add(GenericQueryUtil.equals("phone", GenericQueryExample.TYPE_STRING, "13811112222"));
|
notEquals (ne)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery notEquals(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.notEquals("phone", GenericQueryExample.TYPE_STRING, "13812345678")); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode()));
|
notContain (not like)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery notContain(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.notContain("phone", GenericQueryExample.TYPE_STRING, "138"));
|
notContain (not in)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery notContain(String columnName, List<String> value);
|
示例
1 2 3 4 5 6 7 8 9
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); List<String> value = new ArrayList<>(); value.add("13812345678"); value.add("13811112222"); vos.add(GenericQueryUtil.notContain("phone", value));
|
contain (like)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery contain(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.contain("phone", GenericQueryExample.TYPE_STRING, "138"));
|
contain (in)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery contain(String columnName, List<String> value);
|
示例
1 2 3 4 5 6 7 8 9
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); List<String> value = new ArrayList<>(); value.add("13812345678"); value.add("13811112222"); vos.add(GenericQueryUtil.contain("phone", value));
|
between
参数说明
1 2 3 4 5 6 7 8 9 10
|
GenericQuery between(String columnName, String type, String value1, String value2);
|
示例
1 2 3 4 5 6 7 8
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); String startDate = "2021-11-01 00:00:00"; String endDate = "2021-11-30 23:59:59"; vos.add(GenericQueryUtil.between("register_time", GenericQueryExample.TYPE_DATE, startDate, endDate));
|
greaterThan (gt)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery greaterThan(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.greaterThan("vehicle_num", GenericQueryExample.TYPE_NUMBER, "0"));
|
greaterThanOrEqual (ge)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery greaterThanOrEqual(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.greaterThanOrEqual("vehicle_num", GenericQueryExample.TYPE_NUMBER, "5"));
|
lessThan (lt)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery lessThan(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.lessThan("vehicle_num", GenericQueryExample.TYPE_NUMBER, "5"));
|
lessThanOrEqual (le)
参数说明
1 2 3 4 5 6 7 8 9
|
GenericQuery lessThanOrEqual(String columnName, String type, String value);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.lessThanOrEqual("vehicle_num", GenericQueryExample.TYPE_NUMBER, "5"));
|
isNull
参数说明
1 2 3 4 5 6 7 8
|
GenericQuery isNull(String columnName, String type);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.isNull("vehicle_num", GenericQueryExample.TYPE_NUMBER));
|
isNotNull
参数说明
1 2 3 4 5 6 7 8
|
GenericQuery isNotNull(String columnName, String type);
|
示例
1 2 3 4 5 6
| List<GenericQuery> vos = new ArrayList<>(); vos.add(GenericQueryUtil.equals("user_type", GenericQueryExample.TYPE_STRING, UserTypeEnum.ENTERPRISE.getCode())); vos.add(GenericQueryUtil.isNotNull("vehicle_num", GenericQueryExample.TYPE_NUMBER));
|