ConditionQueryWrapper
package com.common.util;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.ObjectUtils;
/**
* @author exmyth
* @version 1.0.0
* @date 2021-01-19 17:06
*/
public class ConditionQueryWrapper<T> extends QueryWrapper<T> {
@Override
public LambdaConditionQueryWrapper<T> lambda() {
return new LambdaConditionQueryWrapper(super.lambda());
}
@Override
public ConditionQueryWrapper<T> between(String column, Object val1, Object val2) {
super.between(ObjectUtils.isNotEmpty(val1)&&ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public ConditionQueryWrapper<T> eq(String column, Object val) {
super.eq(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> le(boolean condition, String column, Object val) {
super.le(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> lt(String column, Object val) {
super.lt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> ge(boolean condition, String column, Object val) {
super.ge(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> gt(String column, Object val) {
super.gt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> like(String column, Object val) {
super.like(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> likeLeft(boolean condition, String column, Object val) {
super.likeLeft(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> likeRight(boolean condition, String column, Object val) {
super.likeRight(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> ne(boolean condition, String column, Object val) {
super.ne(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionQueryWrapper<T> notBetween(boolean condition, String column, Object val1, Object val2) {
super.notBetween(ObjectUtils.isNotEmpty(val1) && ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public ConditionQueryWrapper<T> notLike(boolean condition, String column, Object val) {
super.notLike(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
}
LambdaConditionQueryWrapper
package com.common.util;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import org.apache.commons.lang3.ObjectUtils;
/**
* @author exmyth
* @version 1.0.0
* @date 2021-01-19 17:11
*/
public class LambdaConditionQueryWrapper<T> extends LambdaQueryWrapper<T>{
private final LambdaQueryWrapper<T> wrapper;
public LambdaConditionQueryWrapper(LambdaQueryWrapper<T> wrapper) {
this.wrapper = wrapper;
}
public LambdaQueryWrapper<T> wrapper(){
return this.wrapper;
}
@Override
public LambdaConditionQueryWrapper<T> between(boolean condition, SFunction<T, ?> column, Object val1, Object val2) {
wrapper.between(ObjectUtils.isNotEmpty(val1)&&ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> eq(SFunction<T, ?> column, Object val) {
wrapper.eq(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> le(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.le(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> lt(SFunction<T, ?> column, Object val) {
wrapper.lt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> ge(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.ge(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> gt(SFunction<T, ?> column, Object val) {
wrapper.gt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> like(SFunction<T, ?> column, Object val) {
wrapper.like(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> likeLeft(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.likeLeft(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> likeRight(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.likeRight(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> ne(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.ne(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> notBetween(boolean condition, SFunction<T, ?> column, Object val1, Object val2) {
wrapper.notBetween(ObjectUtils.isNotEmpty(val1) && ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public LambdaConditionQueryWrapper<T> notLike(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.notLike(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
}
ConditionUpdateWrapper
package com.common.util;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.apache.commons.lang3.ObjectUtils;
/**
* @author exmyth
* @version 1.0.0
* @date 2021-01-19 19:22
*/
public class ConditionUpdateWrapper<T> extends UpdateWrapper<T> {
@Override
public LambdaConditionUpdateWrapper<T> lambda() {
return new LambdaConditionUpdateWrapper<T>(super.lambda());
}
@Override
public ConditionUpdateWrapper<T> between(String column, Object val1, Object val2) {
super.between(ObjectUtils.isNotEmpty(val1)&&ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public ConditionUpdateWrapper<T> eq(String column, Object val) {
super.eq(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> le(boolean condition, String column, Object val) {
super.le(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> lt(String column, Object val) {
super.lt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> ge(boolean condition, String column, Object val) {
super.ge(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> gt(String column, Object val) {
super.gt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> like(String column, Object val) {
super.like(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> likeLeft(boolean condition, String column, Object val) {
super.likeLeft(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> likeRight(boolean condition, String column, Object val) {
super.likeRight(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> ne(boolean condition, String column, Object val) {
super.ne(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public ConditionUpdateWrapper<T> notBetween(boolean condition, String column, Object val1, Object val2) {
super.notBetween(ObjectUtils.isNotEmpty(val1) && ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public ConditionUpdateWrapper<T> notLike(boolean condition, String column, Object val) {
super.notLike(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
}
LambdaConditionUpdateWrapper
package com.common.util;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import org.apache.commons.lang3.ObjectUtils;
/**
* @author exmyth
* @version 1.0.0
* @date 2021-01-19 19:23
*/
public class LambdaConditionUpdateWrapper<T> extends LambdaUpdateWrapper<T> {
private final LambdaUpdateWrapper<T> wrapper;
public LambdaConditionUpdateWrapper(LambdaUpdateWrapper<T> wrapper) {
this.wrapper = wrapper;
}
@Override
public LambdaConditionUpdateWrapper<T> between(boolean condition, SFunction<T, ?> column, Object val1, Object val2) {
wrapper.between(ObjectUtils.isNotEmpty(val1)&&ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> eq(SFunction<T, ?> column, Object val) {
wrapper.eq(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> le(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.le(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> lt(SFunction<T, ?> column, Object val) {
wrapper.lt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> ge(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.ge(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> gt(SFunction<T, ?> column, Object val) {
wrapper.gt(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> like(SFunction<T, ?> column, Object val) {
wrapper.like(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> likeLeft(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.likeLeft(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> likeRight(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.likeRight(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> ne(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.ne(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> notBetween(boolean condition, SFunction<T, ?> column, Object val1, Object val2) {
wrapper.notBetween(ObjectUtils.isNotEmpty(val1) && ObjectUtils.isNotEmpty(val2), column, val1, val2);
return this;
}
@Override
public LambdaConditionUpdateWrapper<T> notLike(boolean condition, SFunction<T, ?> column, Object val) {
wrapper.notLike(ObjectUtils.isNotEmpty(val), column, val);
return this;
}
}