Browse Source

forPaginateTotalRow 添加 Object ext 参数

James 4 years ago
parent
commit
ec50fef22a

+ 2 - 2
src/main/java/com/jfinal/plugin/activerecord/DbPro.java

@@ -600,7 +600,7 @@ public class DbPro {
 		Connection conn = null;
 		try {
 			conn = config.getConnection();
-			String totalRowSql = config.dialect.forPaginateTotalRow(select, sqlExceptSelect);
+			String totalRowSql = config.dialect.forPaginateTotalRow(select, sqlExceptSelect, null);
 			StringBuilder findSql = new StringBuilder();
 			findSql.append(select).append(' ').append(sqlExceptSelect);
 			return doPaginateByFullSql(config, conn, pageNumber, pageSize, isGroupBySql, totalRowSql, findSql, paras);
@@ -651,7 +651,7 @@ public class DbPro {
 	}
 	
 	protected Page<Record> paginate(Config config, Connection conn, int pageNumber, int pageSize, String select, String sqlExceptSelect, Object... paras) throws SQLException {
-		String totalRowSql = config.dialect.forPaginateTotalRow(select, sqlExceptSelect);
+		String totalRowSql = config.dialect.forPaginateTotalRow(select, sqlExceptSelect, null);
 		StringBuilder findSql = new StringBuilder();
 		findSql.append(select).append(' ').append(sqlExceptSelect);
 		return doPaginateByFullSql(config, conn, pageNumber, pageSize, null, totalRowSql, findSql, paras);

+ 1 - 1
src/main/java/com/jfinal/plugin/activerecord/Model.java

@@ -503,7 +503,7 @@ public abstract class Model<M extends Model> implements Serializable {
 		Connection conn = null;
 		try {
 			conn = config.getConnection();
-			String totalRowSql = config.dialect.forPaginateTotalRow(select, sqlExceptSelect);
+			String totalRowSql = config.dialect.forPaginateTotalRow(select, sqlExceptSelect, this);
 			StringBuilder findSql = new StringBuilder();
 			findSql.append(select).append(' ').append(sqlExceptSelect);
 			return doPaginateByFullSql(config, conn, pageNumber, pageSize, isGroupBySql, totalRowSql, findSql, paras);

+ 2 - 1
src/main/java/com/jfinal/plugin/activerecord/dialect/Dialect.java

@@ -328,8 +328,9 @@ public abstract class Dialect {
 	 * 为分页方法生成查询 totalRow 值的 sql
 	 * @param select sql 语句的 select 部分
 	 * @param sqlExceptSelect sql 语句除了 select 以外的部分
+	 * @param ext 扩展参数,在 Model 调用时传入 Model 对象,在 DbPro 调用时传入 null
 	 */
-	public String forPaginateTotalRow(String select, String sqlExceptSelect) {
+	public String forPaginateTotalRow(String select, String sqlExceptSelect, Object ext) {
 		return "select count(*) " + replaceOrderBy(sqlExceptSelect);
 	}
 }