From 30d2366d51e7d3f3bfdb4652f9d3a07a531d907b Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Sat, 23 Jun 2018 11:10:16 +0800 Subject: [PATCH] api 更新 --- src/main/java/com/moral/common/util/ExampleUtil.java | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/moral/common/util/ExampleUtil.java b/src/main/java/com/moral/common/util/ExampleUtil.java index f395cba..1852f44 100644 --- a/src/main/java/com/moral/common/util/ExampleUtil.java +++ b/src/main/java/com/moral/common/util/ExampleUtil.java @@ -19,17 +19,22 @@ private final static String CRITERIA_SPLIT = "\\|\\|\\|"; private final static String CONDITION_SPLIT = "\\|\\|"; private static Map<String, Method> criteriaMethodMap = null; - private static void setOrderByClause(Example example,String orderByClause) throws UnsupportedEncodingException { + private static void setOrderByClause(Example example,String orderByClause) throws UnsupportedEncodingException, NoSuchFieldException { orderByClause = URLDecoder.decode(orderByClause,"UTF-8"); String[] orderBys = orderByClause.split(CRITERIA_SPLIT); for(String orderBy : orderBys){ String[] items = orderBy.split(CONDITION_SPLIT); - String property = items[0]; - String sort = items[1]; - if("asc".equals(sort)){ - example.orderBy(property).asc(); - }else{ - example.orderBy(property).desc(); + if(items.length == 2){ + String property = items[0]; + String sort = items[1]; + if(isPropertyOfClass(example.getEntityClass(),property)){ + + if("asc".equals(sort)){ + example.orderBy(property).asc(); + }else{ + example.orderBy(property).desc(); + } + } } } } @@ -47,7 +52,9 @@ if (!StringUtils.isNullOrEmpty(params) && params.startsWith("or|")) { String[] criteria = params.trim().split(OR_SPLIT); for (String criterion : criteria) { - Example.Criteria criteriaOfExample = null; + // criterion���null���""������ + if(StringUtils.isNullOrEmpty(criterion)) { continue;}; + Example.Criteria criteriaOfExample = example.or(); if (!StringUtils.isNullOrEmpty(criterion)) { String[] conditions = criterion.trim().split(CRITERIA_SPLIT); for (String condition : conditions) { @@ -65,10 +72,6 @@ for (int index = 2; index < conditionItems.length; index++) { values.add(conditionItems[index]); } - } - //��������������������������������� or ��������� - if(criteriaOfExample == null){ - criteriaOfExample = example.or(); } invokeMethod(criteriaOfExample,method,propertyName,values); } -- Gitblit v1.8.0