diff --git a/src/main/java/io/jboot/db/model/JbootModel.java b/src/main/java/io/jboot/db/model/JbootModel.java index 25d1440ee7277ff2f0fcb9db064b7b0882686d09..f27e7d6123c14e306dc6172533a92b16fdcf72a5 100644 --- a/src/main/java/io/jboot/db/model/JbootModel.java +++ b/src/main/java/io/jboot/db/model/JbootModel.java @@ -765,12 +765,27 @@ public class JbootModel> extends Model { } public List findListByColumns(Columns columns, String orderBy, Integer count, String loadColumns) { + return findListByColumns(columns, orderBy,0, count, loadColumns); + } + + public List findListByColumns(Columns columns, String orderBy,Integer start, Integer count, String loadColumns) { processColumns(columns, "findList"); loadColumns = getLoadColumns(loadColumns); - String sql = _getDialect().forFindByColumns(alias, joins, _getTableName(), loadColumns, columns.getList(), orderBy, count); + String limitStr = null; + if(null != count){ + limitStr = buildLimitStr(start, count); + } + String sql = _getDialect().forFindByColumns(alias, joins, _getTableName(), loadColumns, columns.getList(), orderBy, limitStr); return columns.isEmpty() ? find(sql) : find(sql, columns.getValueArray()); } + protected String buildLimitStr(Integer start, Integer count) { + StringBuilder sb = new StringBuilder(); + sb.append(start).append(",").append(count); + return sb.toString(); + } + + //方便在某些场景下,对 columns 进行二次加工 protected void processColumns(Columns columns, String action) { }