NutzCN Logo
问答 Nutzdao层拦截器获取dap.insert()中的对象
发布于 2278天前 作者 qq_2bb1d3fe 1539 次浏览 复制 上一个帖子 下一个帖子
标签:

在拦截器中获取拦截的对象,并是一个身上带value的对象
Entity entity=st.getEntity();这样只能获取这个实体类,但身上不包括值

public interface DaoInterceptor {
void filter(DaoInterceptorChain chain) throws DaoException;
}
// DaoInterceptorChain 包含当前执行的全部信息,如Connection,DaoStatment等等

public class MyDaoInterceptor implements DaoInterceptor {
public void filter(DaoInterceptorChain chain) throws DaoException {
DaoStatement st = chain.getDaoStatement();
if (st instanceof NutPojo) {
// 如果是dao.insert(user)之类的操作,会进入这个分支
//在这里如何获取拦截的对象,并是一个身上带value的对象

    } else if (st instanceof NutSql) {
        // 如果是自定义SQL,会进入这个分支
    }
    chain.doChain();//继续下一个拦截器执行
}

}


``` var ioc = { dao : { type : "org.nutz.dao.impl.NutDao", args : [{refer:"dataSource"}], fields : { interceptors : [ "log", // 默认的日志还需要的 "time", // 加个时间又如何呢? "net.demo.MyDaoInterceptor", // 加入自己的,才合适 {refer:"superI"} // 引用另外一个bean作为拦截器 ] } } }
5 回复

用 插入代码按钮啊

NutPojo类有getOperatingObject方法

谢谢,获取到了

能再请问一下,NutSql可以去拿到一个这样的对象吗

NutSql没有对应的pojo实例哦, 只有参数和变量的值

添加回复
请先登陆
回到顶部