public interface BaseService<T>
| 限定符和类型 | 方法和说明 |
|---|---|
int |
clear()
清空表
|
int |
clear(org.nutz.dao.Condition cnd)
按条件清除一组数据
|
int |
clear(String tableName)
清空表
|
int |
clear(String tableName,
org.nutz.dao.Condition cnd)
按条件清除一组数据
|
int |
count()
统计对象表条数
|
int |
count(org.nutz.dao.Condition cnd)
统计符合条件的对象表条数
|
int |
count(org.nutz.dao.sql.Sql sql)
自定义SQL统计
|
int |
count(String tableName)
统计表记录条数
|
int |
count(String tableName,
org.nutz.dao.Condition cnd)
统计符合条件的记录条数
|
org.nutz.dao.Dao |
dao() |
org.nutz.lang.util.NutMap |
data(int length,
int start,
int draw,
org.nutz.dao.Cnd cnd,
String linkName)
DataTable Page
|
org.nutz.lang.util.NutMap |
data(int length,
int start,
int draw,
List<DataTableOrder> orders,
List<DataTableColumn> columns,
org.nutz.dao.Cnd cnd,
String linkName)
DataTable Page
|
org.nutz.lang.util.NutMap |
data(int length,
int start,
int draw,
List<DataTableOrder> orders,
List<DataTableColumn> columns,
org.nutz.dao.Cnd cnd,
String linkName,
org.nutz.dao.Cnd subCnd)
DataTable Page
|
org.nutz.lang.util.NutMap |
data(int length,
int start,
int draw,
org.nutz.dao.sql.Sql countSql,
org.nutz.dao.sql.Sql orderSql)
DataTable Page 自定义SQL
|
org.nutz.lang.util.NutMap |
data(int length,
int start,
int draw,
org.nutz.dao.sql.Sql countSql,
org.nutz.dao.sql.Sql orderSql,
boolean countOnly)
DataTable Page 自定义SQL
|
int |
delete(int id)
通过int主键删除数据
|
void |
delete(Integer[] ids)
批量删除
|
void |
delete(List<String> ids)
批量删除
|
int |
delete(long id)
通过long主键删除数据
|
void |
delete(Long[] ids)
批量删除
|
int |
delete(String id)
通过string主键删除数据
|
void |
delete(String[] ids)
批量删除
|
org.nutz.dao.sql.Sql |
execute(org.nutz.dao.sql.Sql sql)
执行一条自定义SQL
|
boolean |
exists(Object... pks)
复合主键专用
|
<T> T |
fastInsert(T obj)
快速插入一个对象,对象的 '@Prev' 以及 '@Next' 在这个函数里不起作用
|
T |
fetch(org.nutz.dao.Condition cnd)
查出符合条件的第一条记录
|
T |
fetch(long id)
通过数字型主键查询对象
|
T |
fetch(String id)
通过字符型主键查询对象
|
<T> T |
fetchLinks(T obj,
String regex)
查询关联表
|
<T> T |
fetchLinks(T obj,
String regex,
org.nutz.dao.Condition cnd)
查询关联表
|
T |
fetchx(Object... pks)
复合主键专用
|
org.nutz.dao.entity.Entity<T> |
getEntity()
获取实体的Entity
|
Class<T> |
getEntityClass()
获取实体类型
|
T |
getField(String fieldName,
org.nutz.dao.Condition cnd)
通过条件获取部分字段值
|
T |
getField(String fieldName,
int id)
通过INT主键获取部分字段值
|
T |
getField(String fieldName,
long id)
通过LONG主键获取部分字段值
|
T |
getField(String fieldName,
String name)
通过NAME主键获取部分字段值
|
Map |
getMap(org.nutz.dao.sql.Sql sql)
自定义sql获取map key-value
|
int |
getMaxId()
获取某个对象,最大的 ID 值,这个对象必须声明了 '@Id'
|
String |
getParentPath(String path)
获取TREEID父级
|
String |
getSubPath(String tableName,
String colName,
String value)
计算子节点TREEID
|
void |
insert(String tableName,
org.nutz.dao.Chain chain)
自由的向一个数据表插入一条数据
|
<T> T |
insert(T obj)
将一个对象插入到一个数据库
|
<T> T |
insert(T obj,
org.nutz.dao.FieldFilter filter)
将一个对象按FieldFilter过滤后,插入到一个数据源。
|
<T> T |
insertLinks(T obj,
String regex)
根据一个正则表达式,仅将对象所有的关联字段插入到数据库中,并不包括对象本身
|
<T> T |
insertOrUpdate(T obj)
根据对象的主键(@Id/@Name/@Pk)先查询, 如果存在就更新, 不存在就插入
|
<T> T |
insertOrUpdate(T obj,
org.nutz.dao.FieldFilter insertFieldFilter,
org.nutz.dao.FieldFilter updateFieldFilter)
根据对象的主键(@Id/@Name/@Pk)先查询, 如果存在就更新, 不存在就插入
|
<T> T |
insertRelation(T obj,
String regex)
将对象的一个或者多个,多对多的关联信息,插入数据表
|
<T> T |
insertWith(T obj,
String regex)
将对象插入数据库同时,也将符合一个正则表达式的所有关联字段关联的对象统统插入相应的数据库
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
|
List<org.nutz.dao.entity.Record> |
list(org.nutz.dao.sql.Sql sql)
自定义SQL返回Record记录集,Record是个MAP但不区分大小写
别返回Map对象,因为MySql和Oracle中字段名有大小写之分
|
Pagination |
listPage(Integer pageNumber,
org.nutz.dao.Condition cnd)
分页查询
|
Pagination |
listPage(Integer pageNumber,
int pageSize,
org.nutz.dao.Condition cnd)
分页查询(cnd)
|
Pagination |
listPage(Integer pageNumber,
int pageSize,
org.nutz.dao.Condition cnd,
String fieldName)
分页查询,获取部分字段(cnd)
|
Pagination |
listPage(Integer pageNumber,
int pageSize,
org.nutz.dao.sql.Sql sql)
分页查询(sql)
|
Pagination |
listPage(Integer pageNumber,
int pageSize,
org.nutz.dao.sql.Sql sql,
org.nutz.dao.sql.Sql countSql)
分页查询
|
Pagination |
listPage(Integer pageNumber,
int pageSize,
String tableName,
org.nutz.dao.Condition cnd)
分页查询(tabelName)
|
Pagination |
listPage(Integer pageNumber,
org.nutz.dao.sql.Sql sql)
分页查询
|
Pagination |
listPage(Integer pageNumber,
org.nutz.dao.sql.Sql sql,
org.nutz.dao.sql.Sql countSql)
分页查询
|
Pagination |
listPage(Integer pageNumber,
String tableName,
org.nutz.dao.Condition cnd)
分页查询
|
Pagination |
listPageLinks(Integer pageNumber,
int pageSize,
org.nutz.dao.Condition cnd,
String linkName)
关联查询
|
Pagination |
listPageLinks(Integer pageNumber,
int pageSize,
org.nutz.dao.Condition cnd,
String linkName,
org.nutz.dao.Condition subCnd)
关联查询,带子查询条件
|
List<T> |
query()
获取全部数据
|
List<T> |
query(org.nutz.dao.Condition cnd)
查询一组对象。
|
List<T> |
query(org.nutz.dao.Condition cnd,
org.nutz.dao.pager.Pager pager)
分页查询
|
List<T> |
query(org.nutz.dao.Condition cnd,
String linkName) |
List<T> |
query(org.nutz.dao.Condition cnd,
String linkName,
org.nutz.dao.Condition linkCnd)
获取表及关联表全部数据(支持子查询)
|
List<T> |
query(org.nutz.dao.Condition cnd,
String linkName,
org.nutz.dao.Condition linkCnd,
org.nutz.dao.pager.Pager pager)
分页关联字段查询(支持关联条件)
|
List<T> |
query(org.nutz.dao.Condition cnd,
String linkName,
org.nutz.dao.pager.Pager pager)
分页关联字段查询
|
List<T> |
query(String linkName)
获取表及关联表全部数据
|
List<T> |
query(String fieldName,
org.nutz.dao.Condition cnd)
查询获取部分字段
|
int |
update(org.nutz.dao.Chain chain,
org.nutz.dao.Condition cnd)
部分更新实体表
|
int |
update(Object obj)
更新数据
|
int |
update(String tableName,
org.nutz.dao.Chain chain,
org.nutz.dao.Condition cnd)
部分更新表
|
int |
updateAndIncrIfMatch(Object obj,
org.nutz.dao.FieldFilter fieldFilter,
String fieldName)
乐观锁, 以特定字段的值作为限制条件,更新对象,并自增该字段.
|
int |
updateIgnoreNull(Object obj)
更新数据忽略值为null的字段
|
<T> T |
updateLinks(T obj,
String regex)
根据一个正则表达式,仅更新对象所有的关联字段,并不包括对象本身
|
int |
updateRelation(Class<?> classOfT,
String regex,
org.nutz.dao.Chain chain,
org.nutz.dao.Condition cnd)
多对多关联是通过一个中间表将两条数据表记录关联起来。
|
<T> T |
updateWith(T obj,
String regex)
将对象更新的同时,也将符合一个正则表达式的所有关联字段关联的对象统统更新
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
|
int |
updateWithVersion(Object obj)
基于版本的更新,版本不一样无法更新到数据
|
int |
updateWithVersion(Object obj,
org.nutz.dao.FieldFilter filter)
基于版本的更新,版本不一样无法更新到数据
|
int |
vDelete(org.nutz.dao.Condition cnd)
根据条件进行伪删除
|
int |
vDelete(List<String> ids)
批量伪删除
|
int |
vDelete(String id)
伪删除
|
int |
vDelete(String[] ids)
批量伪删除
|
int |
vDelete(String tableName,
org.nutz.dao.Condition cnd)
根据条件进行伪删除
|
org.nutz.dao.Dao dao()
org.nutz.dao.entity.Entity<T> getEntity()
int count(org.nutz.dao.Condition cnd)
cnd - int count()
int count(String tableName, org.nutz.dao.Condition cnd)
tableName - cnd - int count(String tableName)
tableName - int count(org.nutz.dao.sql.Sql sql)
sql - T fetch(long id)
id - <T> T fetchLinks(T obj,
String regex)
obj - 数据对象,可以是普通对象或集合,但不是类regex - 为null查询全部,支持通配符 ^(a|b)$<T> T fetchLinks(T obj,
String regex,
org.nutz.dao.Condition cnd)
obj - 数据对象,可以是普通对象或集合,但不是类regex - 为null查询全部,支持通配符 ^(a|b)$cnd - 关联字段的过滤(排序,条件语句,分页等)T fetch(org.nutz.dao.Condition cnd)
cnd - 查询条件boolean exists(Object... pks)
pks - 键值<T> T insert(T obj)
obj - 要被插入的对象
它可以是:
普通 POJO
集合
数组
Map
注意:如果是集合,数组或者 Map,所有的对象必须类型相同,否则可能会出错<T> T insert(T obj,
org.nutz.dao.FieldFilter filter)
dao.insert(pet, FieldFilter.create(Pet.class, FieldMatcher.create(false)));
obj - 要被插入的对象filter - 字段过滤器, 其中FieldMatcher.isIgnoreId生效Dao.insert(Object)<T> T insertOrUpdate(T obj)
obj - 对象<T> T insertOrUpdate(T obj,
org.nutz.dao.FieldFilter insertFieldFilter,
org.nutz.dao.FieldFilter updateFieldFilter)
obj - 对象insertFieldFilter - 插入时的字段过滤, 可以是nullupdateFieldFilter - 更新时的字段过滤,可以是nullvoid insert(String tableName, org.nutz.dao.Chain chain)
tableName - 表名chain - 数据名值链<T> T fastInsert(T obj)
obj - <T> T insertWith(T obj,
String regex)
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
obj - 数据对象regex - 正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被插入One,
Many,
ManyMany<T> T insertLinks(T obj,
String regex)
obj - 数据对象regex - 正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被插入One,
Many,
ManyMany<T> T insertRelation(T obj,
String regex)
obj - 对象regex - 正则表达式,描述了那种多对多关联字段将被执行该操作ManyManyint update(Object obj)
obj - int updateIgnoreNull(Object obj)
obj - int update(org.nutz.dao.Chain chain,
org.nutz.dao.Condition cnd)
chain - cnd - int update(String tableName, org.nutz.dao.Chain chain, org.nutz.dao.Condition cnd)
tableName - chain - cnd - <T> T updateWith(T obj,
String regex)
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
obj - 数据对象regex - 正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被更新One,
Many,
ManyMany<T> T updateLinks(T obj,
String regex)
obj - 数据对象regex - 正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被更新One,
Many,
ManyManyint updateRelation(Class<?> classOfT, String regex, org.nutz.dao.Chain chain, org.nutz.dao.Condition cnd)
而这个中间表可能还有其他的字段,比如描述关联的权重等
这个操作可以让你一次更新某一个对象中多个多对多关联的数据
classOfT - 对象类型regex - 正则表达式,描述了那种多对多关联字段将被执行该操作chain - 针对中间关联表的名值链。cnd - 针对中间关联表的 WHERE 条件ManyManyint updateWithVersion(Object obj)
obj - 需要更新的对象, 必须有version属性int updateWithVersion(Object obj, org.nutz.dao.FieldFilter filter)
obj - 需要更新的对象, 必须有version属性filter - 需要过滤的字段设置int updateAndIncrIfMatch(Object obj, org.nutz.dao.FieldFilter fieldFilter, String fieldName)
执行的sql如下:
update t_user set age=30, city="广州", version=version+1 where name="wendal" and version=124;
obj - 需要更新的对象, 必须带@Id/@Name/@Pk中的其中一种.fieldFilter - 需要过滤的属性. 若设置了哪些字段不更新,那务必确保过滤掉fieldName的字段fieldName - 参考字段的Java属性名.默认是"version",可以是任意数值字段int getMaxId()
int delete(long id)
id - int delete(int id)
id - int delete(String id)
id - void delete(Integer[] ids)
ids - void delete(Long[] ids)
ids - void delete(String[] ids)
ids - int clear()
int clear(String tableName)
int clear(org.nutz.dao.Condition cnd)
int clear(String tableName, org.nutz.dao.Condition cnd)
int vDelete(String id)
id - int vDelete(String[] ids)
ids - int vDelete(org.nutz.dao.Condition cnd)
cnd - int vDelete(String tableName, org.nutz.dao.Condition cnd)
cnd - T getField(String fieldName, String name)
fieldName - 支持通配符 ^(a|b)$name - T getField(String fieldName, org.nutz.dao.Condition cnd)
fieldName - 支持通配符 ^(a|b)$cnd - List<T> query(String fieldName, org.nutz.dao.Condition cnd)
fieldName - 支持通配符 ^(a|b)$cnd - List<T> query(org.nutz.dao.Condition cnd)
cnd - WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序List<T> query(org.nutz.dao.Condition cnd, String linkName)
cnd - 查询条件linkName - 关联字段,支持正则 ^(a|b)$List<T> query(org.nutz.dao.Condition cnd, String linkName, org.nutz.dao.Condition linkCnd)
cnd - 查询条件linkName - 关联字段,支持正则 ^(a|b)$linkCnd - 关联条件List<T> query(org.nutz.dao.Condition cnd, String linkName, org.nutz.dao.pager.Pager pager)
cnd - 查询条件linkName - 关联字段,支持正则 ^(a|b)$pager - 分页对象List<T> query(org.nutz.dao.Condition cnd, String linkName, org.nutz.dao.Condition linkCnd, org.nutz.dao.pager.Pager pager)
cnd - 查询条件linkName - 关联字段,支持正则 ^(a|b)$linkCnd - 关联条件pager - 分页对象List<T> query(org.nutz.dao.Condition cnd, org.nutz.dao.pager.Pager pager)
cnd - 查询条件pager - 分页对象String getSubPath(String tableName, String colName, String value)
tableName - colName - value - org.nutz.dao.sql.Sql execute(org.nutz.dao.sql.Sql sql)
sql - List<org.nutz.dao.entity.Record> list(org.nutz.dao.sql.Sql sql)
sql - Map getMap(org.nutz.dao.sql.Sql sql)
sql - Pagination listPage(Integer pageNumber, org.nutz.dao.Condition cnd)
pageNumber - cnd - Pagination listPage(Integer pageNumber, org.nutz.dao.sql.Sql sql)
pageNumber - sql - Pagination listPage(Integer pageNumber, int pageSize, org.nutz.dao.sql.Sql sql)
pageNumber - pageSize - sql - Pagination listPage(Integer pageNumber, org.nutz.dao.sql.Sql sql, org.nutz.dao.sql.Sql countSql)
pageNumber - sql - 查询语句countSql - 统计语句Pagination listPage(Integer pageNumber, int pageSize, org.nutz.dao.sql.Sql sql, org.nutz.dao.sql.Sql countSql)
pageNumber - pageSize - sql - 查询语句countSql - 统计语句Pagination listPage(Integer pageNumber, String tableName, org.nutz.dao.Condition cnd)
pageNumber - tableName - cnd - Pagination listPage(Integer pageNumber, int pageSize, org.nutz.dao.Condition cnd)
pageNumber - pageSize - cnd - Pagination listPage(Integer pageNumber, int pageSize, org.nutz.dao.Condition cnd, String fieldName)
pageNumber - pageSize - cnd - fieldName - 支持通配符 ^(a|b)$Pagination listPageLinks(Integer pageNumber, int pageSize, org.nutz.dao.Condition cnd, String linkName)
pageNumber - pageSize - cnd - linkName - 支持通配符 ^(a|b)$Pagination listPageLinks(Integer pageNumber, int pageSize, org.nutz.dao.Condition cnd, String linkName, org.nutz.dao.Condition subCnd)
pageNumber - pageSize - cnd - linkName - 支持通配符 ^(a|b)$subCnd - 子查询条件Pagination listPage(Integer pageNumber, int pageSize, String tableName, org.nutz.dao.Condition cnd)
pageNumber - pageSize - tableName - cnd - org.nutz.lang.util.NutMap data(int length,
int start,
int draw,
List<DataTableOrder> orders,
List<DataTableColumn> columns,
org.nutz.dao.Cnd cnd,
String linkName)
length - 页大小start - startdraw - draworders - 排序columns - 字段cnd - 查询条件linkName - 关联查询 支持通配符 ^(a|b)$org.nutz.lang.util.NutMap data(int length,
int start,
int draw,
List<DataTableOrder> orders,
List<DataTableColumn> columns,
org.nutz.dao.Cnd cnd,
String linkName,
org.nutz.dao.Cnd subCnd)
length - 页大小start - startdraw - draworders - 排序columns - 字段cnd - 查询条件linkName - 关联查询 支持通配符 ^(a|b)$subCnd - 关联查询条件org.nutz.lang.util.NutMap data(int length,
int start,
int draw,
org.nutz.dao.sql.Sql countSql,
org.nutz.dao.sql.Sql orderSql)
length - 页大小start - startdraw - drawcountSql - 统计查询语句orderSql - 结果查询语句org.nutz.lang.util.NutMap data(int length,
int start,
int draw,
org.nutz.dao.sql.Sql countSql,
org.nutz.dao.sql.Sql orderSql,
boolean countOnly)
length - 页大小start - startdraw - drawcountSql - 统计查询语句orderSql - 结果查询语句countOnly - 统计查询语句是否只有count()org.nutz.lang.util.NutMap data(int length,
int start,
int draw,
org.nutz.dao.Cnd cnd,
String linkName)
length - 页大小start - startdraw - drawcnd - 查询条件linkName - 关联查询 支持通配符 ^(a|b)$Copyright © 2019. All rights reserved.