NutzCN Logo
问答 Sqls.create执行出错
发布于 2466天前 作者 qq_e9304ee5 1333 次浏览 复制 上一个帖子 下一个帖子
标签:

Sql sql = Sqls.fetchInt("select ii from test where key=@value").setParam("value",1);
this.dao.execute(sql);
sql.getInt();
这样能查到数据

Sql sql = Sqls.create("select ii from test where key=@value").setParam("value",1);
this.dao.execute(sql);
sql.getInt();
报错空对象

设置callback也不行
Sql sql = Sqls.create("select ii from test where key=@value").setParam("value",1);
sql.setCallback(Sqls.callback.entities());
sql.setEntity(this.dao.getEntity(Integer.class));
this.dao.execute(sql);
sql.getInt();

org.nutz.dao.DaoException: Need non-arg constructor : class java.lang.Integer

Sql sql = Sqls.fetchInt("select ii from test where key=@value").setParam("value",1);
this.dao.execute(sql);
sql.getInt();
Sql sql = Sqls.fetchInt("select ii from test where key=@value").setParam("value",1);
this.dao.execute(sql);
sql.getInt();
4 回复

看清楚不同的回调,不是随便选的

点开fetchInt的源码看看吧,基本数据类型可不是entity

那我怎么设置泛型呢

public <T> T getFieldValue(Class<T> t){
        Sql sql = Sqls.create(...);
        sql.setCallback(Sqls.callback.integer());
        moneyDAO.execute(sql);
        return sql.getObject(t);

    }

根据t的类型判断一下,选择不同的callback

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