src/main/java/com/sojson/core/mybatis/page/MysqlDialect.java
(完整代码) 1KBpackage com.sojson.core.mybatis.page;
public class MysqlDialect implements Dialect {
protected static final String SQL_END_DELIMITER = ";";
public String getLimitSqlString(String sql, int offset, int limit) {
sql = sql.trim();
boolean isForUpdate = false;
if ( sql.toLowerCase().endsWith(" for update") ) {
sql = sql.substring( 0, sql.length()- 11 );
isForUpdate = true;
}
if(offset < 0){
offset = 0;
}
StringBuffer pagingSelect = new StringBuffer();
pagingSelect.append(sql +" limit "+offset+"," +limit);
if ( isForUpdate ) {
pagingSelect.append( " for update" );
}
return pagingSelect.toString();
}
public String getCountSqlString(String sql) {
sql = trim(sql);
StringBuffer sb = new StringBuffer(sql.length() + 10);
sb.append("SELECT COUNT(1) AS " + RS_COLUMN + " FROM ( ");
sb.append(sql);
sb.append(")a");
return sb.toString();
}
public boolean supportsLimit() {
return true;
}
private static String trim(String sql) {
sql = sql.trim();
if (sql.endsWith(SQL_END_DELIMITER)) {
sql = sql.substring(0, sql.length() - 1
- SQL_END_DELIMITER.length());
}
return sql;
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
