
org.nbone.persistence.jdbc.dialect.Dialect Maven / Gradle / Ivy
package org.nbone.persistence.jdbc.dialect;
/**
* 类似hibernate的Dialect,但只精简出分页部分 模仿hibernate的JDBC方言,用于jdbc的分页
* @author thinking
*/
public abstract class Dialect {
public boolean supportsLimit(){
return false;
}
public boolean supportsLimitOffset() {
return supportsLimit();
}
/**
* 将sql变成分页sql语句,直接使用offset,limit的值作为占位符.
* 源代码为: getLimitString(sql,offset,String.valueOf(offset),limit,String.valueOf(limit))
*/
public String getLimitString(String sql, int offset, int limit) {
return getLimitString(sql,offset,Integer.toString(offset),limit,Integer.toString(limit));
}
/**
* 将sql变成分页sql语句,提供将offset及limit使用占位符(placeholder)替换.
*
* 如mysql
* dialect.getLimitString("select * from user", 12, ":offset",0,":limit") 将返回
* select * from user limit :offset,:limit
*
* @return 包含占位符的分页sql
*/
public String getLimitString(String sql, int offset,String offsetPlaceholder, int limit,String limitPlaceholder) {
throw new UnsupportedOperationException("paged queries not supported");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy