PredicatesBuilder.java
2.84 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package com.bsth.entity.search;
import java.text.NumberFormat;
import java.text.ParseException;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
/**
*
* @ClassName: PredicatesBuilder
* @author PanZhao
* @date 2016年3月16日 下午4:05:07
*
*/
public class PredicatesBuilder {
/**
* Number转换器
*/
private static NumberFormat nf;
static{
nf = NumberFormat.getInstance();
}
public static Predicate eq(CriteriaBuilder cb,Path<?> expression, Object object){
return cb.equal(expression, object);
}
public static Predicate ne(CriteriaBuilder cb,Path<?> expression, Object object){
return cb.notEqual(expression, object);
}
public static Predicate gt(CriteriaBuilder cb,Path<Number> expression, Object object){
try {
return cb.gt(expression, nf.parse(object.toString()));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Predicate ge(CriteriaBuilder cb,Path<Number> expression, Object object){
try {
return cb.ge(expression, nf.parse(object.toString()));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Predicate lt(CriteriaBuilder cb,Path<Number> expression, Object object){
try {
return cb.lt(expression, nf.parse(object.toString()));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Predicate le(CriteriaBuilder cb,Path<Number> expression, Object object){
try {
return cb.le(expression, nf.parse(object.toString()));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Predicate prefixLike(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.like(expression, object.toString() + "%");
}
public static Predicate prefixNotLike(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.notLike(expression, object.toString() + "%");
}
public static Predicate suffixLike(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.like(expression, "%" + object.toString());
}
public static Predicate suffixNotLike(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.notLike(expression, "%" + object.toString());
}
public static Predicate like(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.like(expression, "%" + object.toString() + "%");
}
public static Predicate notLike(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.notLike(expression, "%" + object.toString() + "%");
}
public static Predicate isNull(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.isNull(expression);
}
public static Predicate isNotNull(CriteriaBuilder cb,Path<String> expression, Object object){
return cb.isNotNull(expression);
}
}