mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
Page:
Use_PageUtils
Pages
Benchmark_aliyun
Contributors
DBCP迁移
Druid Change Log
DruidDataSource
DruidDataSource动态配置
DruidDataSource统计数据日志输出格式
DruidDataSource配置
DruidDataSource配置属性列表
Druid_SQL_AST
Druid中使用log4j2进行日志输出
Druid连接池介绍
Druid锁的公平模式问题
EvalVisitor
ExceptionSorter_cn
ExportParameterVisitor_demo_cn
FAQ
Home
JDBC_Properties
KeepAlive_cn
MySQL SQL Parser
OnFatalErrorMaxActive
Oracle Driver Internal API
Oracle数据库下PreparedStatementCache内存问题解决方案
ParameterizedOutputVisitor
SQL Parser
SQL_Format
SQL_Parser_Demo_visitor
SQL_Parser_Parameterize
SQL_RemoveCondition_demo
SQL_Schema_Repository
SQL格式化
SchemaStatVisitor
SchemaStatVisitor_RelationShip
StatFilter_Items
TableMapping_cn
Use_PageUtils
WallFilter 拦截规则
druid monitor设计
getCreateTableScript
large_amount_datasource_cn
linux benchmark
xxxxx
使用ConfigFilter
使用EncodingConvertFilter
使用Spring4的JavaConfig整合Druid Hibernate4.3
关于BoneCP
内置Filter的别名
分库分表
各种数据库连接池对比
各种连接池性能对比测试
如何修改SQL添加条件
如何参与
如何在Spring Boot中配置数据库密码加密?
如何捐赠
定时输出统计信息到日志中
常见问题
怎么保存Druid的监控记录
数据库多数据源
新手指南
注解方式配置监控
简介_WallFilter
设计_动态修改maxActive支持
贡献者者代码编写及提交规范
连接泄漏监测
配置 wallfilter
配置_DruidDataSource参考配置
配置_Druid和Spring关联监控配置
配置_Filter配置
配置_JNDI_Jetty
配置_JNDI_Tomcat
配置_LogFilter
配置_StatFilter
配置_StatViewFilter
配置_StatViewServlet配置
配置_配置WebStatFilter
配置druid内置的log实现
首页
Clone
7
Use_PageUtils
高铁 edited this page 2017-04-19 09:23:02 +08:00
Table of Contents
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
limit使用介绍
String sql = "select * from t";
String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 20, 10);
输出结果
SELECT *
FROM (SELECT XX.*, ROWNUM AS RN
FROM (SELECT *
FROM t
) XX
WHERE ROWNUM <= 30
) XXX
WHERE RN > 20
hasUnorderedLimit
String sql = " select * from test t limit 3";
assertTrue(PagerUtils.hasUnorderedLimit(sql, JdbcConstants.MYSQL));