public class WhereHelper
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
VAR_GROUP_BY_COLUMN
内置变量名:指定 GROUP BY 分组查询指定的字段名
|
static java.lang.String |
VAR_LIMIT_OFFSET
内置变量名:指定分页查询 offset 参数
|
static java.lang.String |
VAR_LIMIT_ROW_COUNT
内置变量名:指定分页查询 row_count 参数
|
static java.lang.String |
VAR_ORDER_BY_COLUMN
内置变量名:指定 ORDER BY 排序的字段名
|
| 构造器和说明 |
|---|
WhereHelper(java.lang.String bshScript)
构造方法
|
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
asCond(java.lang.Object value,
boolean not) |
java.lang.String |
bitAgg(java.lang.String field,
java.lang.Class clazz) |
static BeanShellWhereBuilder |
builder() |
WhereHelper |
defineVariable(java.lang.String varname,
java.lang.Object value)
定义脚本执行变量,在
with(Object)方法之后调用有效 |
WhereHelper |
defineVariable(java.lang.String varname,
java.lang.Object value,
java.lang.Class<?> expectType)
定义脚本执行变量,在
with(Object)方法之后调用有效 |
boolean |
eq(java.lang.Object left,
java.lang.Object right)
BeanShell运行环境调用的方法:判断
right指定的值是否等于left指定的变量 如果 right,left相相等则返回true,
否则判断left是否为String类型,
如果是则尝试将left转换为right的类型再比较
否则返回false |
boolean |
eqin(java.lang.Object left,
java.lang.Object right)
BeanShell运行环境调用的方法:判断
right指定的值是否等于left指定的变量 如果 right,left相相等则返回true,
否则判断right是否为Iterable类型或数组,
如果是则判断right包含left,包含则返回true
否则返回false |
static java.lang.Object |
guess(java.lang.Object obj,
java.lang.Class<?> expectType)
主要用于解析从HTTP请求获取的String类型参数
如果 obj为String类型,尝试解析为或数字(数组),String数组类型,
解析成功返回解析的实例,否则返回输入参数数组类型变量必须解析为List才能在生成代码时被正确识别 |
boolean |
isEmpty(java.lang.Object value)
BeanShell运行环境调用的方法:判断一个对象是否为null或空,参见
BeanPropertyUtils.isEmpty(Object) |
boolean |
isFalse(java.lang.Object value)
BeanShell运行环境调用的方法:判断一个对象是否为false
类型为Boolean,Number,String都可以,
当为Number类型时,转为整数为0即判定为false,
当为String类型时 false|off|0|no?
|
boolean |
isNonull(java.lang.Object value)
BeanShell运行环境调用的方法:输入参数不为null返回
true |
boolean |
isNull(java.lang.Object value)
BeanShell运行环境调用的方法:输入参数为null返回
true |
boolean |
isTrue(java.lang.Object value)
BeanShell运行环境调用的方法:判断一个对象是否为true
类型为Boolean,Number,String都可以, 当为Number类型时,转为整数不为0即判定为true, 当为String类型时 true|on|1|y(es)? |
java.lang.String |
join(java.lang.Object input,
java.lang.String separator)
如果输入参数(input)为字符串数组或集合则返回以separator为分割符连接的字符串,
否则将input以转为字符串返回
|
java.lang.String |
likeOp(java.lang.String like_op,
java.lang.String pattern) |
java.lang.String |
op(java.lang.String field) |
java.lang.String |
op(java.lang.String field,
boolean not)
BeanShell运行环境调用的方法:根据指定的字段名
field,计算比较表达式当 field对应的值为普通数据类型时,返回表达式 field = value当 field对应的值为数组,集合类型时,返回表达式 field in (v1,v2,v3), |
java.lang.String |
op(java.lang.String left,
java.lang.String field,
boolean not,
boolean orNull)
BeanShell运行环境调用的方法:根据指定的字段名
field,计算比较表达式当 field对应的值为普通数据类型时,返回表达式 field = value当 field对应的值为数组,集合类型时,返回表达式 field in (v1,v2,v3), |
WhereHelper |
timeFormatter(java.lang.String timeFormatter)
设置日期对象的格式,默认为
DateSupport.TIMESTAMP_FORMATTER_STR |
java.lang.String |
toString() |
java.lang.String |
where()
根据
with(Object)提供的SQL查询要求的字段参数执行BeanShell脚本创建SQL Where语句WhereHelper执行 BeanShellWhereBuilder生成的BeanShell脚本,脚本根据with(Object)提供的参数,生成SQL WHERE语句 |
WhereHelper |
with(com.google.common.base.Function<java.lang.String,java.lang.String> valueSupplier)
从
valueSupplier中获取WhereHelper所有引用变量的值定义定义
到WhereHelper的BeanShell脚本执行空间,
自动匹配变量命名格式 |
WhereHelper |
with(java.lang.Object params)
根据输入的参数对象提供的SQL查询要求的字段参数定义脚本执行变量
SQL查询字段参数可以封装在Java Bean或Map对象,不可为 null |
public static final java.lang.String VAR_ORDER_BY_COLUMN
public static final java.lang.String VAR_GROUP_BY_COLUMN
public static final java.lang.String VAR_LIMIT_ROW_COUNT
public static final java.lang.String VAR_LIMIT_OFFSET
public WhereHelper(java.lang.String bshScript)
bshScript - BeanShell 脚本public WhereHelper timeFormatter(java.lang.String timeFormatter)
DateSupport.TIMESTAMP_FORMATTER_STRtimeFormatter - public WhereHelper defineVariable(java.lang.String varname, java.lang.Object value)
with(Object)方法之后调用有效varname - 变量名,为空或null忽略value - 变量的值public WhereHelper defineVariable(java.lang.String varname, java.lang.Object value, java.lang.Class<?> expectType)
with(Object)方法之后调用有效varname - 变量名,为空或null忽略value - 变量的值expectType - 希望的数据类型,为null忽略,如果不为null,对于String类型的输入尝试解析为希望类型的对象或数组public WhereHelper with(java.lang.Object params)
nullparams - public WhereHelper with(com.google.common.base.Function<java.lang.String,java.lang.String> valueSupplier)
valueSupplier中获取WhereHelper所有引用变量的值定义定义
到WhereHelper的BeanShell脚本执行空间,
自动匹配变量命名格式valueSupplier - 字段变量值提供对象,为null忽略public java.lang.String where()
with(Object)提供的SQL查询要求的字段参数执行BeanShell脚本创建SQL Where语句BeanShellWhereBuilder生成的BeanShell脚本,脚本根据with(Object)提供的参数,生成SQL WHERE语句public boolean isEmpty(java.lang.Object value)
BeanPropertyUtils.isEmpty(Object)value - public boolean isTrue(java.lang.Object value)
null不判定为truevalue - public boolean isFalse(java.lang.Object value)
null不判定为truevalue - public boolean isNull(java.lang.Object value)
truevalue - public boolean isNonull(java.lang.Object value)
truevalue - public java.lang.String op(java.lang.String field,
boolean not)
field,计算比较表达式field对应的值为普通数据类型时,返回表达式 field = valuefield对应的值为数组,集合类型时,返回表达式 field in (v1,v2,v3),field - public java.lang.String op(java.lang.String left,
java.lang.String field,
boolean not,
boolean orNull)
field,计算比较表达式field对应的值为普通数据类型时,返回表达式 field = valuefield对应的值为数组,集合类型时,返回表达式 field in (v1,v2,v3),left - field - orNull - 为true输出等价或为NULL表达式,例如 (left=value OR left IS NULL)public java.lang.String op(java.lang.String field)
public java.lang.String bitAgg(java.lang.String field,
java.lang.Class clazz)
public boolean eqin(java.lang.Object left,
java.lang.Object right)
right指定的值是否等于left指定的变量 right,left相相等则返回true,
否则判断right是否为Iterable类型或数组,
如果是则判断right包含left,包含则返回true
否则返回falseleft - right - public boolean eq(java.lang.Object left,
java.lang.Object right)
right指定的值是否等于left指定的变量 right,left相相等则返回true,
否则判断left是否为String类型,
如果是则尝试将left转换为right的类型再比较
否则返回falseleft - right - public java.lang.String likeOp(java.lang.String like_op,
java.lang.String pattern)
public java.lang.String join(java.lang.Object input,
java.lang.String separator)
input - separator - public java.lang.String asCond(java.lang.Object value,
boolean not)
public static java.lang.Object guess(java.lang.Object obj,
java.lang.Class<?> expectType)
obj为String类型,尝试解析为或数字(数组),String数组类型,
解析成功返回解析的实例,否则返回输入参数obj - expectType - 希望的数据类型,为null忽略,如果不为null,对于String类型的输入尝试解析为希望类型的对象或数组public static BeanShellWhereBuilder builder()
public java.lang.String toString()
toString 在类中 java.lang.ObjectCopyright © 2024. All Rights Reserved.