第一种: int page = req.getParameter("page"); int limit = req.getParameter("limit"); String limitstr = (page - 1) * limit + "," + limit; Sql sql = Sqls.create("SELECT" + select + " FROM" + from + " WHERE" + where + order + " LIMIT " + limitstr); log.debug(sql.getSourceSql()); sql.setCallback(new SqlCallback() { public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException { List<Open> list = new ArrayList<Open>(); while (rs.next()) { Open p = dao.getEntity(Open.class).getObject(rs, null, "o."); list.add(p); } return list; } }); dududao.execute(sql); List<Open> rs = sql.getList(Open.class); 第二种: Sql sql = Sqls.create("SELECT" + select + " FROM" + from + " WHERE" + where + order ); Sql sql = Sqls.queryEntity(sqlStr); sql.setPager(dao.createPager(page, limit)); sql.setEntity(dao.getEntity(Open.class)); try { dao.execute(sql); } catch (Exception e) { log.debug("", e); } List<Open> list = sql.getList(Open.class); log.debug(sql.getSourceSql()); System.out.println(sql);