/************************************************************************ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ************************************************************************/ package core.plugin.mybatis.dialect; import core.plugin.mybatis.dialect.impl.H2Dialect; import core.plugin.mybatis.dialect.impl.MysqlDialect; import core.plugin.mybatis.dialect.impl.OracleDialect; import core.plugin.mybatis.dialect.impl.SqlserverDialet; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.session.RowBounds; /** * Created by gzy on 2016/8/16. */ public class SqlDialetHelper { /** * 获取分页查询sql * @param url * @param originalSql * @param rowBounds * @return */ public static String getQuerySqlByDialet(String url, String originalSql, RowBounds rowBounds) { String dbType = getDbTypeByUrl(url); Dialect dialect = getDialetByDbType(dbType); String sql = dialect.getSqlWithPagination(originalSql, rowBounds); return sql; } /** * 获取排序sql * @param originalSql * @param sidx * @param sord * @return */ public static String getOrderSql(String originalSql, String sidx, String sord){ StringBuilder sb = new StringBuilder(); sb.append(originalSql).append(" order by " + sidx + " " + sord); return sb.toString(); } /** * 获取过滤sql * @param originalSql * @param column * @param columnType * @param value * @param min * @param max * @return */ public static String getFilterSql(String originalSql, String column, String columnType, String[] value, Integer min, Integer max){ StringBuilder sb = new StringBuilder(); sb.append(originalSql); if("text".equals(columnType)){ for(int i=0;i