NutzCN Logo
问答 nutzdao渲染出来的sql 数据查询不一致
发布于 2557天前 作者 menglinxi 1651 次浏览 复制 上一个帖子 下一个帖子
标签:

入口

	@At("/data")
    @Ok("json")
    @RequiresAuthentication
    public Object data(@Param("appname") String appname,@Param("length") int length, @Param("start") int start, @Param("draw") int draw,@Param("startTime") String  stime,@Param("endTime") String  etime) {
		Cnd cnd = Cnd.NEW();
        Subject subject = SecurityUtils.getSubject();
        String uid="";
        if (subject != null) {
            uid= (String) subject.getSession(true).getAttribute("uid");
        }
        if(!StringUtils.isBlank(appname)) {
            cnd.and("appname", "like", String.format("%%s%%",appname));
        }
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


        if(!StringUtils.isBlank(stime)&&!StringUtils.isBlank(etime))
        {
            String sdate=stime+" 00:00:00";
            String edate=etime+" 23:59:59";

            cnd.and("createtime",">=",sdate);
            cnd.and("createtime","<=",edate);

        }else
        {
            if(!StringUtils.isBlank(stime)) {
                String sdate = stime + " 00:00:00";
                String edate = stime + " 23:59:59";
                cnd.and("createtime", ">=", sdate);
                cnd.and("createtime", "<=", edate);
            }
        }
        cnd.and("opBy","=",uid);
        cnd.orderBy("opAt","DESC");
    	return trackingAppService.data(length, start, draw, null, null, cnd, null);
    }

service

    public NutMap data(int length, int start, int draw, List<DataTableOrder> orders, List<DataTableColumn> columns, Cnd cnd, String linkName) {
        NutMap re = new NutMap();
        Pager pager = new OffsetPager(start, length);
        re.put("recordsFiltered", this.dao().count(this.getEntityClass(), cnd));
        List<?> list = this.dao().query(this.getEntityClass(), cnd, pager);
        re.put("data", list);
        re.put("draw", draw);
        re.put("recordsTotal", length);
        return re;
    }
11 回复

@wendal 他的pager 没有把count 设置进去

如果不是datatables组件,干吗调这个方法哦?

前后端分离了。

不是有现成的listPage么

好吧。我老老实实回去用listPage

@menglinxi

pager.setRecordCount(dao().count(getEntityClass(), cnd));

加上这行代码试试

@Rekoe 哦哦,搞明白就好

原因还不明 换listPage 结果也一样
转换出来的sql语句:
总查询条数
SELECT COUNT(*) FROM tracking_app WHERE createtime >= '2017-03-27 00:00:00' AND createtime <= '2017-03-27 23:59:59' AND opBy='16cf4828d3e347cb821021f9d5ac3b33'

记录数
SELECT * FROM tracking_app WHERE createtime >= '2017-03-27 00:00:00' AND createtime <= '2017-03-27 23:59:59' AND opBy='16cf4828d3e347cb821021f9d5ac3b33' ORDER BY opAt DESC LIMIT 0, 10

这两条语句在数据库里都能查询到值。
但是程序里这个list值空了

@menglinxi 数据库里面也是字符串吗? 那个日期

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