NutzCN Logo
问答 nutz dao 关于分页查询序号问题
发布于 1945天前 作者 qq_18cbf901 1587 次浏览 复制 上一个帖子 下一个帖子
标签: dao

数据库环境mysql 5.6
现在需要实现一个留言回复,显示每个留言具体楼层(序号)问题。

数据库表message

首先尝试如下代码:
dao.query("(SELECT @rownum:=0) rn,message", "@rownum:=@rownum+1 AS rownum,message.*", null, null);
语句里面的@rownum会被nutz当做逃逸字符,过滤掉,
但如果写成如下:
dao.query("(SELECT @@rownum:=0) rn,message", "@rownum:=@rownum+1 AS rownum,message.*", null, null);
这个nutz不会过滤,直接变成sql,执行的时候,数据库会提示没有当前系统变量(mysql @@var 被当做全局变量)

关于这个功能需要怎样写呢?求助。。。。

2 回复

终于看懂了,这样传表名也是第一次见

正确的姿势应该是这样

Sql sql = Sqls.create("select * from (那段table,需要转义) $condition");
sql.setCallback(Sqls.callbak.records());
sql.setCondition(cnd);
dao.exec(sql);
return dao.getList(Record.class);

等价且更灵活,不需要现在这种hack一般的做法

来自炫酷的 NutzCN

为啥不预先创建一个视图涅?

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