程序包 | 说明 |
---|---|
org.nutz.dao |
这是 Nutz 最重要的包之一,它主要围绕着 org.nutz.dao.Dao 接口提供了一系列的功能
总之,啥都别说了,光看看名字就晓得是干啥用的了。
|
org.nutz.dao.entity |
抽象的Pojo配置信息描述
|
org.nutz.dao.impl |
Dao的实现
|
org.nutz.dao.impl.sql.pojo | |
org.nutz.dao.util |
Dao工具集
|
org.nutz.service |
服务类,Dao包的延伸
Dao 很灵活,这里再给出一些简单的数据访问抽象基类,它们能让你的大多数调用代码,少掉一个参数
|
限定符和类型 | 类和说明 |
---|---|
static class |
Chain.DefaultChain |
限定符和类型 | 方法和说明 |
---|---|
abstract Chain |
Chain.adaptor(ValueAdaptor adaptor)
设置节点的参考适配器
|
Chain |
Chain.DefaultChain.adaptor(ValueAdaptor adaptor) |
abstract Chain |
Chain.add(String name,
Object value)
将一个名值对,添加为本链节点的下一环
|
Chain |
Chain.DefaultChain.add(String name,
Object value) |
abstract Chain |
Chain.addSpecial(String name,
Object value)
添加一个特殊节点, 如果value非空而且是String类型,则有3个情况:
+1 效果如age=age+1
-1 效果如count=count-1
支持的运算符有 + - *\/ % & ^ |
其他值, 则对value.toString()
Chain chain = Chain.makeSpecial("age", "+1");//输出的SQL会是 age=age+1
Chain chain = Chain.makeSpecial("ct", "now()");//输出的SQL会是 ct=now(),但不建议用依赖特定数据库的now(),仅供演示. |
Chain |
Chain.DefaultChain.addSpecial(String name,
Object value) |
static Chain |
Chain.from(Object obj)
根据一个 POJO 对象的字段 生成一个 Chain 对象
相当于 Chain.from(obj,null)
|
static Chain |
Chain.from(Object obj,
FieldMatcher fm)
根据一个对象的字段 生成一个 Chain 对象
这个对象可以是一个 POJO 或者是一个 Map。
|
static Chain |
Chain.from(Object obj,
FieldMatcher fm,
Dao dao) |
abstract Chain |
Chain.head() |
Chain |
Chain.DefaultChain.head() |
static Chain |
Chain.make(String name,
Object value)
建立一条名值链开始的一环
|
static Chain |
Chain.makeSpecial(String name,
Object value) |
abstract Chain |
Chain.name(String name)
改变当前节点的名称
|
Chain |
Chain.DefaultChain.name(String name) |
abstract Chain |
Chain.next() |
Chain |
Chain.DefaultChain.next() |
abstract Chain |
Chain.updateBy(Entity<?> entity)
根据 Entity 里的设定,更新整个链所有节点的名称。
|
Chain |
Chain.DefaultChain.updateBy(Entity<?> entity) |
abstract Chain |
Chain.value(Object value)
改变当前节点的值
|
Chain |
Chain.DefaultChain.value(Object value) |
限定符和类型 | 方法和说明 |
---|---|
void |
Dao.insert(Class<?> classOfT,
Chain chain)
与 insert(String tableName, Chain chain) 一样,不过,数据表名,将取自 POJO 的数据表声明,请参看
'@Table' 注解的详细说明
|
void |
Dao.insert(String tableName,
Chain chain)
自由的向一个数据表插入一条数据。
|
int |
Dao.update(Class<?> classOfT,
Chain chain,
Condition cnd)
与 update(String tableName, Chain chain, Condition cnd) 一样,不过,数据表名,将取自
POJO 的数据表声明,请参看 '@Table' 注解的详细说明
|
int |
Dao.update(String tableName,
Chain chain,
Condition cnd)
自由的更新多条数据
|
int |
Dao.updateRelation(Class<?> classOfT,
String regex,
Chain chain,
Condition cnd)
多对多关联是通过一个中间表将两条数据表记录关联起来。
|
限定符和类型 | 方法和说明 |
---|---|
Chain |
Record.toChain()
返回该记录对应的 Chain 对象
|
限定符和类型 | 方法和说明 |
---|---|
Pojo |
EntityOperator.addUpdate(Chain chain,
Condition cnd) |
void |
NutDao.insert(Class<?> classOfT,
Chain chain) |
void |
NutDao.insert(String tableName,
Chain chain) |
int |
NutDao.update(Class<?> classOfT,
Chain chain,
Condition cnd) |
int |
NutDao.update(String tableName,
Chain chain,
Condition cnd) |
int |
NutDao.updateRelation(Class<?> classOfT,
String regex,
Chain chain,
Condition cnd) |
构造器和说明 |
---|
InsertByChainPItem(Chain chain) |
UpdateFieldsByChainPItem(Chain chain) |
限定符和类型 | 方法和说明 |
---|---|
static void |
Daos.insertBySpecialChain(Dao dao,
Entity en,
String tableName,
Chain chain)
执行一个特殊的Chain(事实上普通Chain也能执行,但不建议使用)
|
static PItem |
Pojos.Items.updateFieldsBy(Chain chain) |
限定符和类型 | 方法和说明 |
---|---|
void |
EntityService.insert(Chain chain)
与 insert(String tableName, Chain chain) 一样,不过,数据表名,将取自 POJO 的数据表声明,请参看
'@Table' 注解的详细说明
|
int |
EntityService.update(Chain chain,
Condition cnd)
批量更新
|
int |
EntityService.updateRelation(String regex,
Chain chain,
Condition cnd)
更新@ManyMany关联表中的数据
|
Copyright © 2017. All rights reserved.