T
- 实体类型public abstract class EntityService<T> extends Service
构造器和说明 |
---|
EntityService()
本抽象类能提供一些帮助方法,减少重复写实体类型的麻烦
|
EntityService(Dao dao)
新建并传入Dao实例
|
EntityService(Dao dao,
Class<T> entityType)
新建并传入Dao实例,同时指定实体类型
|
限定符和类型 | 方法和说明 |
---|---|
T |
_clearLinks(T obj,
String regex) |
int |
_delete(T obj) |
int |
_deleteLinks(T obj,
String regex) |
int |
_deleteWith(T obj,
String regex) |
T |
_fastInsert(T obj) |
T |
_fetch(T obj) |
T |
_fetchLinks(T obj,
String regex) |
T |
_fetchLinks(T obj,
String regex,
Condition cnd) |
T |
_insert(T obj) |
T |
_insert(T t,
boolean ignoreNull,
boolean ignoreZero,
boolean ignoreBlankStr) |
T |
_insert(T obj,
FieldFilter filter) |
T |
_insertLinks(T obj,
String regex) |
T |
_insertRelation(T obj,
String regex) |
T |
_insertWith(T obj,
String regex) |
List<T> |
_query(Condition cnd,
Pager pager,
FieldMatcher matcher) |
List<T> |
_query(Condition cnd,
Pager pager,
String regex) |
int |
_update(T obj) |
int |
_update(T obj,
String regex) |
int |
_updateIgnoreNull(Object obj) |
T |
_updateLinks(T obj,
String regex) |
T |
_updateWith(T obj,
String regex) |
int |
clear()
全表删除
|
int |
clear(Condition cnd)
批量删除
|
int |
count()
全表的总记录数
|
int |
count(Condition cnd)
根据条件统计符合条件的记录数
|
Entity<T> |
create(boolean dropIfExists)
根据一个实体的配置信息为其创建一张表
|
int |
deletex(Object... pks)
根据复合主键删除记录
|
int |
each(Condition cnd,
Each<T> callback)
对一组对象进行迭代,这个接口函数非常适用于很大的数据量的集合,因为你不可能把他们都读到内存里
|
int |
each(Condition cnd,
Pager pager,
Each<T> callback)
遍历条件分页查询结果
|
boolean |
exists(Object... pks)
复合主键专用
|
T |
fetch(Condition cnd)
查出符合条件的第一条记录
|
T |
fetchx(Object... pks)
复合主键专用
|
int |
func(String funcName,
String fieldName)
对某一个对象字段,进行计算。
|
int |
func(String funcName,
String fieldName,
Condition cnd)
对某一个对象字段,进行计算。
|
Entity<T> |
getEntity()
获取实体的Entity
|
Class<T> |
getEntityClass()
获取实体类型
|
T |
getObject(ResultSet rs,
FieldMatcher fm)
从一个 ResultSet 中获取一个对象。
|
T |
getObject(ResultSet rs,
FieldMatcher fm,
String prefix) |
void |
insert(Chain chain)
与 insert(String tableName, Chain chain) 一样,不过,数据表名,将取自 POJO 的数据表声明,请参看
'@Table' 注解的详细说明
|
Mirror<T> |
mirror()
获取实体类型的反射封装类实例
|
List<T> |
query() |
List<T> |
query(Condition cnd)
查询一组对象。
|
List<T> |
query(Condition cnd,
Pager pager)
根据条件分页查询
|
<C extends T> |
setEntityType(Class<C> classOfT)
设置新的实体类型, 极少调用
|
void |
setExpert(T obj) |
int |
update(Chain chain,
Condition cnd)
批量更新
|
int |
updateRelation(String regex,
Chain chain,
Condition cnd)
更新@ManyMany关联表中的数据
|
public EntityService()
public EntityService(Dao dao)
dao
- Dao实例public <C extends T> void setEntityType(Class<C> classOfT)
classOfT
- public int clear(Condition cnd)
cnd
- 条件public int clear()
public int each(Condition cnd, Pager pager, Each<T> callback)
cnd
- 查询条件pager
- 分页callback
- 遍历回调public int count(Condition cnd)
cnd
- 查询条件public int count()
public boolean exists(Object... pks)
pks
- 键值public int updateRelation(String regex, Chain chain, Condition cnd)
regex
- 关联字段的匹配正则表达式,如果为null则代表全部chain
- 键值对cnd
- 条件语句public int deletex(Object... pks)
pks
- 复合主键,必须按@Pk的声明顺序传入public Entity<T> create(boolean dropIfExists)
dropIfExists
- 如果表存在是否强制移除public void insert(Chain chain)
chain
- 数据名值链public List<T> query(Condition cnd)
cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序public int each(Condition cnd, Each<T> callback)
cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序callback
- 处理回调public int func(String funcName, String fieldName)
funcName
- 计算函数名,请确保你的数据库是支持这个函数的fieldName
- 对象 java 字段名public int func(String funcName, String fieldName, Condition cnd)
funcName
- 计算函数名,请确保你的数据库是支持这个函数的fieldName
- 对象 java 字段名cnd
- 过滤条件public T getObject(ResultSet rs, FieldMatcher fm)
因为 Dao 接口可以知道一个 POJO 的映射细节,这个函数可以帮你节省一点体力。
rs
- 结果集fm
- 字段过滤器public T getObject(ResultSet rs, FieldMatcher fm, String prefix)
public List<T> _query(Condition cnd, Pager pager, FieldMatcher matcher)
public T _insert(T obj, FieldFilter filter)
public int _update(T obj)
public int _updateIgnoreNull(Object obj)
public int _delete(T obj)
Copyright © 2017. All rights reserved.