java 查询条件的封装_spring data jpa 组合条件查询封装

/*** 条件构造器

* 用于创建条件表达式

* @Class Name Restrictions

* @Author lee*/

public classRestrictions {/*** 等于

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression eq(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.EQ);

}/*** 不等于

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression ne(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.NE);

}/*** 模糊匹配

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression like(String fieldName, String value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.LIKE);

}/***

*@paramfieldName

*@paramvalue

*@parammatchMode

*@paramignoreNull

*@return

*/

public staticSimpleExpression like(String fieldName, String value,

MatchMode matchMode,booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return null;

}/*** 大于

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression gt(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.GT);

}/*** 小于

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression lt(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.LT);

}/*** 大于等于

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression lte(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.GTE);

}/*** 小于等于

*@paramfieldName

*@paramvalue

*@paramignoreNull

*@return

*/

public static SimpleExpression gte(String fieldName, Object value, booleanignoreNull) {if(StringUtils.isEmpty(value))return null;return newSimpleExpression (fieldName, value, Operator.LTE);

}/*** 并且

*@paramcriterions

*@return

*/

public staticLogicalExpression and(Criterion... criterions){return newLogicalExpression(criterions, Operator.AND);

}/*** 或者

*@paramcriterions

*@return

*/

public staticLogicalExpression or(Criterion... criterions){return newLogicalExpression(criterions, Operator.OR);

}/*** 包含于

*@paramfieldName

*@paramvalue

*@return

*/@SuppressWarnings("rawtypes")public static LogicalExpression in(String fieldName, Collection value, booleanignoreNull) {if(ignoreNull&&(value==null||value.isEmpty())){return null;

}

SimpleExpression[] ses= newSimpleExpression[value.size()];int i=0;for(Object obj : value){

ses[i]=newSimpleExpression(fieldName,obj,Operator.EQ);

i++;

}return newLogicalExpression(ses,Operator.OR);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值