限定符和类型 | 方法和说明 |
---|---|
int |
clear(Class<?> classOfT)
清除对象所有的记录
|
int |
clear(Class<?> classOfT,
Condition cnd)
根据一个 WHERE 条件,清除一组对象。
|
int |
clear(String tableName)
清除数据表所有记录
|
int |
clear(String tableName,
Condition cnd)
根据一个 WHERE 条件,清除一组记录
|
<T> T |
clearLinks(T obj,
String regex)
根据正则表达式,清除对象的关联。
|
int |
count(Class<?> classOfT)
计算某个对象在数据库中有多少条记录
|
int |
count(Class<?> classOfT,
Condition cnd)
根据条件,计算某个对象在数据库中有多少条记录
|
int |
count(String tableName)
计算某个数据表或视图中有多少条记录
|
int |
count(String tableName,
Condition cnd)
根据条件,计算某个数据表或视图中有多少条记录
|
<T> Entity<T> |
create(Class<T> classOfT,
boolean dropIfExists)
根据一个实体的配置信息为其创建一张表
|
Pager |
createPager(int pageNumber,
int pageSize)
根据数据源的类型,创建一个翻页对象
|
int |
delete(Class<?> classOfT,
long id)
根据对象 ID 删除一个对象。
|
int |
delete(Class<?> classOfT,
String name)
根据对象 Name 删除一个对象。
|
int |
delete(Object obj)
自动判断如何删除一个对象。
|
int |
deleteLinks(Object obj,
String regex)
根据一个正则表达式,仅删除对象所有的关联字段,并不包括对象本身。
|
int |
deleteWith(Object obj,
String regex)
将对象删除的同时,也将符合一个正则表达式的所有关联字段关联的对象统统删除
注意:
Java 对象的字段会被保留,这里的删除,将只会删除数据库中的记录
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
|
<T> int |
deletex(Class<T> classOfT,
Object... pks)
根据复合主键,删除一个对象。
|
boolean |
drop(Class<?> classOfT)
如果一个实体的数据表存在,移除它
|
boolean |
drop(String tableName)
如果一个数据表存在,移除它
|
<T> int |
each(Class<T> classOfT,
Condition cnd,
Each<T> callback)
对一组对象进行迭代,这个接口函数非常适用于很大的数据量的集合,因为你不可能把他们都读到内存里
|
<T> int |
each(Class<T> classOfT,
Condition cnd,
Pager pager,
Each<T> callback)
对一组对象进行迭代,这个接口函数非常适用于很大的数据量的集合,因为你不可能把他们都读到内存里
|
int |
each(String tableName,
Condition cnd,
Each<Record> callback)
对一组对象进行迭代,这个接口函数非常适用于很大的数据量的集合,因为你不可能把他们都读到内存里
|
int |
each(String tableName,
Condition cnd,
Pager pager,
Each<Record> callback)
对一组对象进行迭代,这个接口函数非常适用于很大的数据量的集合,因为你不可能把他们都读到内存里
|
int |
each(String tableName,
Condition cnd,
Pager pager,
Each<Record> callback,
String fields)
对一组对象进行迭代,这个接口函数非常适用于很大的数据量的集合,因为你不可能把他们都读到内存里
|
void |
execute(Sql... sqls)
执行一组 Sql,这些 Sql 将会一起被提交
|
Sql |
execute(Sql sql)
执行单条自定义SQL
|
boolean |
exists(Class<?> classOfT) |
boolean |
exists(String tableName) |
<T> T |
fastInsert(T obj)
快速插入一个对象。
|
<T> T |
fetch(Class<T> classOfT)
随便获取一个对象。
|
<T> T |
fetch(Class<T> classOfT,
Condition cnd)
根据 WHERE 条件获取一个对象。
|
<T> T |
fetch(Class<T> classOfT,
long id)
根据对象 ID 获取一个对象。
|
<T> T |
fetch(Class<T> classOfT,
String name)
根据对象 Name 获取一个对象。
|
Record |
fetch(String tableName,
Condition cnd)
根据条件获取一个 Record 对象
|
Record |
fetch(String tableName,
Condition cnd,
String fields) |
<T> T |
fetch(T obj)
根据一个参考对象自动判断如何获取一个对象。
|
<T> T |
fetchByJoin(Class<T> classOfT,
String regex,
Condition cnd)
根据查询条件获取一个对象.
|
<T> T |
fetchByJoin(Class<T> classOfT,
String regex,
long id)
根据对象 ID 获取一个对象。
|
<T> T |
fetchByJoin(Class<T> classOfT,
String regex,
String name)
根据对象 NAME 获取一个对象。
|
<T> T |
fetchLinks(T obj,
String regex)
根据一个正则表达式,获取对象所有的关联字段
|
<T> T |
fetchLinks(T obj,
String regex,
Condition cnd)
根据一个正则表达式,获取对象所有的关联字段, 并按Condition进行数据过滤排序
严重提醒,当使用Condition进行数据过滤排序时,应当使regex只匹配特定的映射字段
|
<T> T |
fetchx(Class<T> classOfT,
Object... pks)
根据复合主键,获取一个对象。
|
int |
func(Class<?> classOfT,
String funcName,
String fieldName)
对某一个对象字段,进行计算。
|
int |
func(Class<?> classOfT,
String funcName,
String fieldName,
Condition cnd)
对某一个对象字段,进行计算。
|
int |
func(String tableName,
String funcName,
String colName)
对某一个数据表字段,进行计算。
|
int |
func(String tableName,
String funcName,
String colName,
Condition cnd)
对某一个数据表字段,进行计算。
|
Object |
func2(Class<?> classOfT,
String funcName,
String fieldName)
对某一个对象字段,进行计算。
|
Object |
func2(Class<?> classOfT,
String funcName,
String fieldName,
Condition cnd)
对某一个对象字段,进行计算。
|
Object |
func2(String tableName,
String funcName,
String colName)
对某一个数据表字段,进行计算。
|
Object |
func2(String tableName,
String funcName,
String colName,
Condition cnd)
对某一个数据表字段,进行计算。
|
<T> Entity<T> |
getEntity(Class<T> classOfT)
获取实体描述, 其中包含了Java Pojo<-->数据库的全部映射信息
|
JdbcExpert |
getJdbcExpert()
获取数据库方言的实现实例
|
int |
getMaxId(Class<?> classOfT)
获取某个对象,最大的 ID 值。
|
<T> T |
getObject(Class<T> classOfT,
ResultSet rs,
FieldMatcher fm)
从一个 ResultSet 中获取一个对象。
|
<T> T |
getObject(Class<T> classOfT,
ResultSet rs,
FieldMatcher fm,
String prefix) |
void |
insert(Class<?> classOfT,
Chain chain)
与 insert(String tableName, Chain chain) 一样,不过,数据表名,将取自 POJO 的数据表声明,请参看
'@Table' 注解的详细说明
|
void |
insert(String tableName,
Chain chain)
自由的向一个数据表插入一条数据。
|
<T> T |
insert(T obj)
将一个对象插入到一个数据源。
|
<T> T |
insert(T t,
boolean ignoreNull,
boolean ignoreZero,
boolean ignoreBlankStr)
以特殊规则执行insert
|
<T> T |
insert(T obj,
FieldFilter filter)
将一个对象按FieldFilter过滤后,插入到一个数据源。
|
<T> T |
insertLinks(T obj,
String regex)
根据一个正则表达式,仅将对象所有的关联字段插入到数据库中,并不包括对象本身
|
<T> T |
insertOrUpdate(T t)
根据对象的主键(@Id/@Name/@Pk)先查询, 如果存在就更新, 不存在就插入
|
<T> T |
insertOrUpdate(T t,
FieldFilter insertFieldFilter,
FieldFilter updateFieldFilter)
根据对象的主键(@Id/@Name/@Pk)先查询, 如果存在就更新, 不存在就插入
|
<T> T |
insertRelation(T obj,
String regex)
将对象的一个或者多个,多对多的关联信息,插入数据表
|
<T> T |
insertWith(T obj,
String regex)
将对象插入数据库同时,也将符合一个正则表达式的所有关联字段关联的对象统统插入相应的数据库
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
|
DatabaseMeta |
meta() |
PojoMaker |
pojoMaker() |
<T> List<T> |
query(Class<T> classOfT,
Condition cnd)
查询一组对象。
|
<T> List<T> |
query(Class<T> classOfT,
Condition cnd,
Pager pager)
查询一组对象。
|
<T> List<T> |
query(Class<T> classOfT,
Condition cnd,
Pager pager,
FieldMatcher matcher) |
<T> List<T> |
query(Class<T> classOfT,
Condition cnd,
Pager pager,
String regex) |
List<Record> |
query(String tableName,
Condition cnd)
查询出一组记录。
|
List<Record> |
query(String tableName,
Condition cnd,
Pager pager)
查询出一组记录。
|
List<Record> |
query(String tableName,
Condition cnd,
Pager pager,
String fields)
查询出一组记录。
|
<T> List<T> |
queryByJoin(Class<T> classOfT,
String regex,
Condition cnd)
根据查询条件获取一个对象.
|
void |
run(ConnCallback callback)
这个方法试图给你最大的灵活性,因为你的 ConnCallback 实现类将得到一个 Connection 接口
的实例。
|
void |
setExpert(Object obj)
设置数据库方言.
|
SqlManager |
sqls() |
int |
update(Class<?> classOfT,
Chain chain,
Condition cnd)
与 update(String tableName, Chain chain, Condition cnd) 一样,不过,数据表名,将取自
POJO 的数据表声明,请参看 '@Table' 注解的详细说明
|
int |
update(Object obj)
更新一个对象。
|
int |
update(Object obj,
Condition cnd) |
int |
update(Object obj,
FieldFilter fieldFilter) |
int |
update(Object obj,
FieldFilter fieldFilter,
Condition cnd) |
int |
update(Object obj,
String actived)
更新对象一部分字段
|
int |
update(Object obj,
String actived,
String locked,
boolean ignoreNull)
更新对象一部分字段
|
int |
update(String tableName,
Chain chain,
Condition cnd)
自由的更新多条数据
|
int |
updateAndIncrIfMatch(Object obj,
FieldFilter fieldFilter,
String fieldName)
乐观锁, 以特定字段的值作为限制条件,更新对象,并自增该字段.
|
int |
updateIgnoreNull(Object obj)
更新一个对象,并且忽略所有 null 字段。
|
<T> T |
updateLinks(T obj,
String regex)
根据一个正则表达式,仅更新对象所有的关联字段,并不包括对象本身
|
int |
updateRelation(Class<?> classOfT,
String regex,
Chain chain,
Condition cnd)
多对多关联是通过一个中间表将两条数据表记录关联起来。
|
<T> T |
updateWith(T obj,
String regex)
将对象更新的同时,也将符合一个正则表达式的所有关联字段关联的对象统统更新
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
|
int |
updateWithVersion(Object obj)
基于版本的更新,版本不一样无法更新到数据
|
int |
updateWithVersion(Object obj,
FieldFilter fieldFilter)
基于版本的更新,版本不一样无法更新到数据
|
DatabaseMeta meta()
SqlManager sqls()
SqlManager
PojoMaker pojoMaker()
void execute(Sql... sqls)
sqls
- 要被执行的 Sql 数组void run(ConnCallback callback)
如果你从当前连接对象中创建了ResultSet对象或者 Statement对象,请自行关闭。Nutz.Dao 的原则是:
callback
- <T> T getObject(Class<T> classOfT, ResultSet rs, FieldMatcher fm)
因为 Dao 接口可以知道一个 POJO 的映射细节,这个函数可以帮你节省一点体力。
classOfT
- 对象类型rs
- 结果集fm
- 字段过滤器<T> T getObject(Class<T> classOfT, ResultSet rs, FieldMatcher fm, String prefix)
<T> T insert(T obj)
声明了 '@Id'的字段会在插入数据库时被忽略,因为数据库会自动为其设值。如果想手动设置,请设置 '@Id(auto=false)'
插入之前,会检查声明了 '@Default(@SQL("SELECT ..."))' 的字段,预先执行 SQL 为字段设置。
插入之后,会检查声明了 '@Next(@SQL("SELECT ..."))' 的字段,通过执行 SQL 将值取回
如果你的字段仅仅声明了 '@Id(auto=true)',没有声明 '@Next',则认为你还是想取回插入后最新的 ID 值,因为 自动为你添加类似 @Next(@SQL("SELECT MAX(id) FROM tableName")) 的设置
<T> T insert(T obj, FieldFilter filter)
dao.insert(pet, FieldFilter.create(Pet.class, FieldMatcher.create(false)));
obj
- 要被插入的对象filter
- 字段过滤器, 其中FieldMatcher.isIgnoreId生效insert(Object)
void insert(String tableName, Chain chain)
tableName
- 数据表名chain
- 数据名值链void insert(Class<?> classOfT, Chain chain)
classOfT
- 实体类型chain
- 数据名值链Table
<T> T fastInsert(T obj)
即,你必须为其设置好值,它会统一采用 batch 的方法插入
obj
- 要被插入的对象
它可以是:
<T> T insertWith(T obj, String regex)
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
<T> T insertLinks(T obj, String regex)
<T> T insertRelation(T obj, String regex)
obj
- 对象regex
- 正则表达式,描述了那种多对多关联字段将被执行该操作ManyMany
int update(Object obj)
并且调用这个函数前, 主键的值必须保证是有效,否则会更新失败
这个对象所有的字段都会被更新,即,所有的没有被设值的字段,都会被置成 NULL,如果遇到 NOT NULL 约束,则会引发异常。 如果想有选择的更新个别字段,请使用 org.nutz.dao.FieldFilter
如果仅仅想忽略所有的 null 字段,请使用 updateIgnoreNull 方法更新对象
obj
- 要被更新的对象
它可以是:
FieldFilter
int update(Object obj, String actived)
obj
- 对象actived
- 正则表达式描述要被更新的字段int update(Object obj, String actived, String locked, boolean ignoreNull)
obj
- 对象actived
- 正则表达式描述要被更新的字段int update(Object obj, FieldFilter fieldFilter)
int update(Object obj, FieldFilter fieldFilter, Condition cnd)
int updateIgnoreNull(Object obj)
注意: 基本数据类型都是不可能为null的,这些字段肯定会更新
obj
- 要被更新的对象
它可以是:
int update(String tableName, Chain chain, Condition cnd)
tableName
- 数据表名chain
- 数据名值链。cnd
- WHERE 条件int update(Class<?> classOfT, Chain chain, Condition cnd)
classOfT
- 实体类型chain
- 数据名值链cnd
- WHERE 条件Table
<T> T updateWith(T obj, String regex)
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
<T> T updateLinks(T obj, String regex)
int updateRelation(Class<?> classOfT, String regex, Chain chain, Condition cnd)
而这个中间表可能还有其他的字段,比如描述关联的权重等
这个操作可以让你一次更新某一个对象中多个多对多关联的数据
classOfT
- 对象类型regex
- 正则表达式,描述了那种多对多关联字段将被执行该操作chain
- 针对中间关联表的名值链。cnd
- 针对中间关联表的 WHERE 条件ManyMany
<T> List<T> query(Class<T> classOfT, Condition cnd, Pager pager, FieldMatcher matcher)
<T> List<T> query(Class<T> classOfT, Condition cnd, Pager pager)
classOfT
- 对象类型cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序pager
- 翻页信息。如果为 null,则一次全部返回. 不会使用cnd中的pager!!!<T> List<T> query(Class<T> classOfT, Condition cnd)
classOfT
- 对象类型cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序List<Record> query(String tableName, Condition cnd, Pager pager)
tableName
- 表名 - 格式为 tableName[:idName] 比如 : t_pet 或者
t_pet:id 尤其在 SqlServer2005 的环境下,需要用 t_pet:id 的形式来指明 ID
字段,否则 不能分页cnd
- 条件 - 请注意: 你传入的 Criteria 实现必须考虑到 没有
'Entity>' 传入。即 toSql 函数的参数永远为 null。pager
- 翻页信息Condition
List<Record> query(String tableName, Condition cnd, Pager pager, String fields)
tableName
- 表名 - 格式为 tableName[:idName] 比如 : t_pet 或者
t_pet:id 尤其在 SqlServer2005 的环境下,需要用 t_pet:id 的形式来指明 ID
字段,否则 不能分页cnd
- 条件 - 请注意: 你传入的 Criteria 实现必须考虑到 没有
'Entity>' 传入。即 toSql 函数的参数永远为 null。pager
- 翻页信息fields
- 需要查询的列, 将直接拼入SQL中.由于不会提前探知表结构,所以这fields并非正则表达式,务必留意.List<Record> query(String tableName, Condition cnd)
tableName
- 表名 - 格式为 tableName[:idName] 比如 : t_pet 或者
t_pet:id 尤其在 SqlServer2005 的环境下,需要用 t_pet:id 的形式来指明 ID
字段,否则 不能分页cnd
- 条件 - 请注意: 你传入的 Criteria 实现必须考虑到 没有
'Entity>' 传入。即 toSql 函数的参数永远为 null。Condition
<T> int each(Class<T> classOfT, Condition cnd, Pager pager, Each<T> callback)
classOfT
- 对象类型cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序pager
- 翻页信息。如果为 null,则一次全部返回callback
- 处理回调<T> int each(Class<T> classOfT, Condition cnd, Each<T> callback)
classOfT
- 对象类型cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序callback
- 处理回调int each(String tableName, Condition cnd, Pager pager, Each<Record> callback)
tableName
- 表名 - 格式为 tableName[:idName] 比如 : t_pet 或者
t_pet:id 尤其在 SqlServer2005 的环境下,需要用 t_pet:id 的形式来指明 ID
字段,否则 不能分页cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序pager
- 翻页信息。如果为 null,则一次全部返回callback
- 处理回调int each(String tableName, Condition cnd, Each<Record> callback)
tableName
- 表名 - 格式为 tableName[:idName] 比如 : t_pet 或者
t_pet:id 尤其在 SqlServer2005 的环境下,需要用 t_pet:id 的形式来指明 ID
字段,否则 不能分页cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序callback
- 处理回调int each(String tableName, Condition cnd, Pager pager, Each<Record> callback, String fields)
tableName
- 表名 - 格式为 tableName[:idName] 比如 : t_pet 或者
t_pet:id 尤其在 SqlServer2005 的环境下,需要用 t_pet:id 的形式来指明 ID
字段,否则 不能分页cnd
- WHERE 条件。如果为 null,将获取全部数据,顺序为数据库原生顺序callback
- 处理回调fields
- 需要查询的列, 将直接拼入SQL中.由于不会提前探知表结构,所以这fields并非正则表达式,务必留意.int delete(Class<?> classOfT, long id)
你的对象必须在某个字段声明了注解 '@Id',否则本操作会抛出一个运行时异常
如果你设定了外键约束,没有正确的清除关联对象会导致这个操作失败
classOfT
- 对象类型id
- 对象 IDId
int delete(Class<?> classOfT, String name)
你的对象必须在某个字段声明了注解 '@Name',否则本操作会抛出一个运行时异常
如果你设定了外键约束,没有正确的清除关联对象会导致这个操作失败
classOfT
- 对象类型name
- 对象 NameName
<T> int deletex(Class<T> classOfT, Object... pks)
classOfT
- pks
- 复合主键需要的参数,必须同 '@PK'中声明的顺序一致int delete(Object obj)
如果声明了 '@Id' 则相当于 delete(Class
如果声明了 '@Name',则相当于 delete(Class
如果声明了 '@PK',则 deletex(Class
如果没声明任何上面三个注解,则会抛出一个运行时异常
obj
- 要被删除的对象int deleteWith(Object obj, String regex)
注意:
Java 对象的字段会被保留,这里的删除,将只会删除数据库中的记录
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
int deleteLinks(Object obj, String regex)
注意:
Java 对象的字段会被保留,这里的删除,将只会删除数据库中的记录
关于关联字段更多信息,请参看 '@One' | '@Many' | '@ManyMany' 更多的描述
<T> T fetch(Class<T> classOfT, long id)
你的对象必须在某个字段声明了注解 '@Id',否则本操作会抛出一个运行时异常
classOfT
- 对象类型id
- 对象 IDId
<T> T fetch(Class<T> classOfT, String name)
你的对象必须在某个字段声明了注解 '@Name',否则本操作会抛出一个运行时异常
classOfT
- 对象类型name
- 对象 NameName
<T> T fetchx(Class<T> classOfT, Object... pks)
classOfT
- pks
- 复合主键需要的参数,必须同 '@PK'中声明的顺序一致<T> T fetch(Class<T> classOfT, Condition cnd)
Record fetch(String tableName, Condition cnd)
tableName
- 表名cnd
- 条件Record fetch(String tableName, Condition cnd, String fields)
tableName
- 表名cnd
- 条件fields
- 需要select的属性, 不可以是null!!!<T> T fetch(Class<T> classOfT)
classOfT
- 对象类型<T> T fetch(T obj)
如果声明了 '@Id' 则相当于 fetch(Class
如果声明了 '@Name',则相当于 fetch(Class
如果声明了 '@PK',则 fetchx(Class
如果没声明任何上面三个注解,则会抛出一个运行时异常
obj
- 参考对象<T> T fetchLinks(T obj, String regex)
<T> T fetchLinks(T obj, String regex, Condition cnd)
obj
- 数据对象,可以是普通对象或集合,但不是类regex
- 正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被查询cnd
- 关联字段的过滤(排序,条件语句,分页等)int clear(Class<?> classOfT, Condition cnd)
classOfT
- 对象类型cnd
- 查询条件,如果为 null,则全部清除int clear(String tableName, Condition cnd)
tableName
- cnd
- int clear(Class<?> classOfT)
classOfT
- 对象类型int clear(String tableName)
tableName
- 表名<T> T clearLinks(T obj, String regex)
对于 '@One' 和 '@Many',对应的记录将会删除
而 '@ManyMay' 对应的字段,只会清除关联表中的记录
obj
- 数据对象regex
- 正则表达式,描述了什么样的关联字段将被关注。如果为 null,则表示全部的关联字段都会被清除<T> Entity<T> getEntity(Class<T> classOfT)
classOfT
- 对象类型int count(Class<?> classOfT, Condition cnd)
classOfT
- 对象类型cnd
- WHERE 条件int count(Class<?> classOfT)
classOfT
- 对象类型int count(String tableName, Condition cnd)
tableName
- 表名cnd
- WHERE 条件int count(String tableName)
tableName
- 表名int getMaxId(Class<?> classOfT)
classOfT
- int func(Class<?> classOfT, String funcName, String fieldName)
classOfT
- 对象类型funcName
- 计算函数名,请确保你的数据库是支持这个函数的fieldName
- 对象 java 字段名Object func2(Class<?> classOfT, String funcName, String fieldName)
classOfT
- 对象类型funcName
- 计算函数名,请确保你的数据库是支持这个函数的fieldName
- 对象 java 字段名int func(String tableName, String funcName, String colName)
tableName
- 表名funcName
- 计算函数名,请确保你的数据是支持库这个函数的colName
- 数据库字段名Object func2(String tableName, String funcName, String colName)
tableName
- 表名funcName
- 计算函数名,请确保你的数据是支持库这个函数的colName
- 数据库字段名int func(Class<?> classOfT, String funcName, String fieldName, Condition cnd)
classOfT
- 对象类型funcName
- 计算函数名,请确保你的数据库是支持这个函数的fieldName
- 对象 java 字段名cnd
- 过滤条件Object func2(Class<?> classOfT, String funcName, String fieldName, Condition cnd)
classOfT
- 对象类型funcName
- 计算函数名,请确保你的数据库是支持这个函数的fieldName
- 对象 java 字段名cnd
- 过滤条件int func(String tableName, String funcName, String colName, Condition cnd)
tableName
- 表名funcName
- 计算函数名,请确保你的数据库是支持这个函数的colName
- 数据库字段名cnd
- 过滤条件Object func2(String tableName, String funcName, String colName, Condition cnd)
tableName
- 表名funcName
- 计算函数名,请确保你的数据库是支持这个函数的colName
- 数据库字段名cnd
- 过滤条件Pager createPager(int pageNumber, int pageSize)
pageNumber
- 第几页 ,从 1 开始。pageSize
- 每页可以有多少条记录boolean exists(Class<?> classOfT)
classOfT
- 对象类型boolean exists(String tableName)
tableName
- 表名<T> Entity<T> create(Class<T> classOfT, boolean dropIfExists)
classOfT
- 实体类型dropIfExists
- 如果表存在是否强制移除boolean drop(Class<?> classOfT)
classOfT
- 实体类型boolean drop(String tableName)
tableName
- 表名void setExpert(Object obj) throws Exception
obj
- 可以是类名,JdbcExpert实例,或者数据库名称Exception
- 类名不合法/不存在的时抛出异常JdbcExpert getJdbcExpert()
<T> T insert(T t, boolean ignoreNull, boolean ignoreZero, boolean ignoreBlankStr)
t
- 实例对象ignoreNull
- 忽略空值ignoreZero
- 忽略0值ignoreBlankStr
- 忽略空白字符串<T> T insertOrUpdate(T t)
t
- 对象<T> T insertOrUpdate(T t, FieldFilter insertFieldFilter, FieldFilter updateFieldFilter)
t
- 对象insertFieldFilter
- 插入时的字段过滤, 可以是nullupdateFieldFilter
- 更新时的字段过滤,可以是nullint updateAndIncrIfMatch(Object obj, FieldFilter fieldFilter, String fieldName)
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 updateWithVersion(Object obj)
obj
- 需要更新的对象, 必须有version属性int updateWithVersion(Object obj, FieldFilter fieldFilter)
obj
- 需要更新的对象, 必须有version属性fieldFilter
- 需要过滤的字段设置<T> T fetchByJoin(Class<T> classOfT, String regex, Condition cnd)
classOfT
- 实体类regex
- 需要过滤的关联属性,可以是null,取出全部关联属性.cnd
- 查询条件,必须带表名!!!<T> T fetchByJoin(Class<T> classOfT, String regex, long id)
你的对象必须在某个字段声明了注解 '@Id',否则本操作会抛出一个运行时异常
这个方法是让@One关联的属性,通过left join一次性取出. 与fetch+fetchLinks是等价的classOfT
- 实体类regex
- 需要取出的关联属性,是正则表达式哦,匹配的是Java属性名id
- 对象id<T> T fetchByJoin(Class<T> classOfT, String regex, String name)
你的对象必须在某个字段声明了注解 '@Name',否则本操作会抛出一个运行时异常
这个方法是让@One关联的属性,通过left join一次性取出. 与fetch+fetchLinks是等价的classOfT
- 实体类regex
- 需要取出的关联属性,是正则表达式哦,匹配的是Java属性名name
- 对象nameCopyright © 2017. All rights reserved.