From 2ac80d588a68f60084d8bcc02aabd18c91100267 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 29 May 2018 14:50:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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