NutzCN Logo
问答 nutz支持一次返回多张表么?
发布于 3298天前 作者 lmm1990 2594 次浏览 复制 上一个帖子 下一个帖子
标签: dao

如: aaa_png

10 回复

@wendal 一次查询返回多个结果集
jdbc 实现如下

cstmt.registerOutParameter(1,返回表代表的类型);
cstmt.registerOutParameter(2,返回表代表的类型); //两个问号都要注册
然后执行execute()
rs1 = cstmt.getObject(1);
rs2 = cstmt.getObject(2); //获取两个表

存储过程? 还是带出参的? 只能jdbc了

dao.run(new ConnCallback(){
   ......
});

@wendal 好的谢谢。正常情况下,一次只能返回一个表格对吧?

@lmm1990 严格来说不是一个"表格", 是一个结果集

@lmm1990 找到实现方式了,实现方式如下:
Ioc ioc = new NutIoc(new JsonLoader("ioc/dao.js"));
NutDao dao = ioc.get(NutDao.class, "dspDao");
Sql sqls = Sqls.create("select 2;select 1");//, Integer.valueOf(keys[2])));
sqls.setCallback(new SqlCallback() {
public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {
List list = new LinkedList();
while (rs.next()) {
list.add(rs.getString(1));
if (rs.getStatement().getMoreResults()) {
rs = rs.getStatement().getResultSet();
} else {
rs.close();
break;
}
}
return list;
}
});
dao.execute(sqls);
System.out.println(sqls.getList(String.class));

哈哈, 这样也行, 还以为你要用存储过程

就是个怎么把结果集转换成java对象,一个record搞定了

@wendal 要的就是一次返回多个结果集,还是谢谢你了

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