public class FieldFilter extends Object
通过这类,可以指明当前线程的 DAO 操作,哪些对象,的哪些字段会被忽略
调用例子:@Table("jax_pf_fold") public class JaxFold implements Serializable { private static final long serialVersionUID = 5990870005316924017L; @Column @Name //字符类型主键,用name来表示 private String mldh; @Column private String mlmc; @Column private String sjmldh; @Column private Integer sxh; @Column private String bz; }
例子1,一般表达式FieldFilter.create(JaxFold.class, "bz|mlmc|mldh").run(new Atom() { public void run() { nutDao.update(fold); } });
执行的sql是: UPDATE jax_pf_fold SET sjmldh='235',bz='备注',mlmc='信息打印' WHERE mldh='2353' 由于 sjmldh 和 mldh 匹配因此,也会被认定为参与操作的字段.
例子2,更严格的正则表达式FieldFilter.create(JaxFold.class, "ˆ(bz|mlmc|mldh)$").run(new Atom() { public void run() { nutDao.update(fold); } });
执行的sql是: UPDATE jax_pf_fold SET bz='备注',mlmc='信息打印',sxh=2343 WHERE mldh='2353'
限定符和类型 | 方法和说明 |
---|---|
static FieldFilter |
create(Class<?> type,
boolean ignoreNull)
创建一个过滤器
|
static FieldFilter |
create(Class<?> type,
FieldMatcher mathcer)
创建一个过滤器
|
static FieldFilter |
create(Class<?> type,
String actived)
创建一个默认不忽略 NULL 值字段的过滤器
|
static FieldFilter |
create(Class<?> type,
String actived,
boolean ignoreNull)
创建一个过滤器
|
static FieldFilter |
create(Class<?> type,
String actived,
String locked,
boolean ignoreNull)
创建一个过滤器
|
static FieldMatcher |
get(Class<?> type)
根据 POJO 的类型,从 ThreadLocal 中获取字段过滤器
|
static FieldFilter |
locked(Class<?> type,
String locked)
创建一个过滤器
|
Map<Class<?>,FieldMatcher> |
map() |
FieldFilter |
remove(Class<?> type)
移除一个 POJO 的字段过滤设置
|
void |
run(Atom atom)
运行模板函数
|
<T> T |
run(Molecule<T> m) |
FieldFilter |
set(Class<?> type,
boolean ignoreNull)
为自身增加一个 POJO 的字段过滤设置
|
FieldFilter |
set(Class<?> type,
FieldMatcher matcher)
为自身增加一个 POJO 的字段过滤设置
|
FieldFilter |
set(Class<?> type,
String actived)
为自身增加一个 POJO 的字段过滤设置
|
FieldFilter |
set(Class<?> type,
String actived,
boolean ignoreNull)
为自身增加一个 POJO 的字段过滤设置
|
FieldFilter |
set(Class<?> type,
String actived,
String locked,
boolean ignoreNull)
为自身增加一个 POJO 的字段过滤设置
|
public static FieldFilter locked(Class<?> type, String locked)
type
- POJO 类型locked
- 正则表达式,哪些字段会被忽略,语法请参看 Pattern 类的 JavaDocpublic static FieldFilter create(Class<?> type, boolean ignoreNull)
type
- POJO 类型ignoreNull
- 是否忽略 NULL 值字段public static FieldFilter create(Class<?> type, String actived)
type
- POJO 类型actived
- 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDocPattern
public static FieldFilter create(Class<?> type, String actived, boolean ignoreNull)
type
- POJO 类型actived
- 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDocignoreNull
- 是否忽略 NULL 值字段Pattern
public static FieldFilter create(Class<?> type, String actived, String locked, boolean ignoreNull)
type
- POJO 类型actived
- 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoclocked
- 正则表达式,哪些字段会被忽略,语法请参看 Pattern 类的 JavaDocignoreNull
- 是否忽略 NULL 值字段Pattern
public static FieldFilter create(Class<?> type, FieldMatcher mathcer)
type
- POJO 类型mathcer
- 字段匹配器public FieldFilter set(Class<?> type, boolean ignoreNull)
type
- POJO 类型ignoreNull
- 是否忽略 NULL 值字段public FieldFilter set(Class<?> type, String actived)
type
- POJO 类型actived
- 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDocpublic FieldFilter set(Class<?> type, String actived, boolean ignoreNull)
type
- POJO 类型actived
- 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDocignoreNull
- 是否忽略 NULL 值字段public FieldFilter set(Class<?> type, String actived, String locked, boolean ignoreNull)
type
- POJO 类型actived
- 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoclocked
- 正则表达式,哪些字段会被忽略,语法请参看 Pattern 类的 JavaDocignoreNull
- 是否忽略 NULL 值字段public FieldFilter set(Class<?> type, FieldMatcher matcher)
type
- POJO 类型matcher
- 字段匹配器public FieldFilter remove(Class<?> type)
type
- POJO 类型public static FieldMatcher get(Class<?> type)
type
- POJO 的类型public Map<Class<?>,FieldMatcher> map()
public void run(Atom atom)
atom
- 运行原子public <T> T run(Molecule<T> m)
Copyright © 2017. All rights reserved.