From 32310b50f58ac21b2a0b87dd7ff65849c08185db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E5=BF=97=E9=B9=8F?= <464455798@qq.com> Date: Sat, 24 Aug 2024 16:35:34 +0800 Subject: [PATCH] =?UTF-8?q?findListByColumns=E5=A2=9E=E5=8A=A0=E4=BB=8ESta?= =?UTF-8?q?rt=E5=BC=80=E5=A7=8B=E5=8F=96count=E6=9D=A1=E6=96=B9=E6=B3=95?= =?UTF-8?q?=20=E5=8D=B3limit=20=3F,=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/io/jboot/db/model/JbootModel.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/jboot/db/model/JbootModel.java b/src/main/java/io/jboot/db/model/JbootModel.java index 25d1440e..f27e7d61 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) { } -- Gitee