Skip to content
温高铁 edited this page Jul 26, 2013 · 6 revisions

PageUtils是基于Druid SQL Parser实现的分页SQL自动生成类。目前支持MySql、Oracle、DB2、SQL Server四种数据库类型。

API

  package com.alibaba.druid.sql;

  public class PagerUtils {
      // 生成获取count的sql
      public static String count(String sql, String dbType) { }
      // 生成分页取数的sql
      public static String limit(String sql, String dbType, int offset, int count) { }
  }

count方法使用举例

  import com.alibaba.druid.sql.PagerUtils;
  import com.alibaba.druid.util.JdbcConstants;
  
  String sql = "select id, name from t order by id";
  String result = PagerUtils.count(sql, JdbcConstants.MYSQL); // 这里的dbType是MySql,可以更换为Oracle、DB2和SQL_Server

输出结果

  SELECT COUNT(*)
  FROM t

count方法能够自动去掉selectList上字段,也能够去掉order by,能够自动识别union

Clone this wiki locally