|
@@ -16,6 +16,7 @@
|
|
|
package com.baomidou.mybatisplus.toolkit;
|
|
|
|
|
|
import com.baomidou.mybatisplus.enums.SqlLike;
|
|
|
+import com.baomidou.mybatisplus.exceptions.MybatisPlusException;
|
|
|
import com.baomidou.mybatisplus.plugins.parser.ISqlParser;
|
|
|
import com.baomidou.mybatisplus.plugins.parser.SqlInfo;
|
|
|
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
|
|
@@ -33,7 +34,15 @@ public class SqlUtils {
|
|
|
private final static SqlFormatter sqlFormatter = new SqlFormatter();
|
|
|
public final static String SQL_BASE_COUNT = "SELECT COUNT(1) FROM ( %s ) TOTAL";
|
|
|
public static ISqlParser COUNT_SQL_PARSER = null;
|
|
|
+ private static Class<ISqlParser> DEFAULT_CLASS = null;
|
|
|
|
|
|
+ static {
|
|
|
+ try {
|
|
|
+ DEFAULT_CLASS = (Class<ISqlParser>) Class.forName("com.baomidou.mybatisplus.plugins.pagination.optimize.JsqlParserCountOptimize");
|
|
|
+ } catch (ClassNotFoundException e) {
|
|
|
+ //skip
|
|
|
+ }
|
|
|
+ }
|
|
|
/**
|
|
|
* <p>
|
|
|
* 获取CountOptimize
|
|
@@ -53,13 +62,9 @@ public class SqlUtils {
|
|
|
// 默认 JsqlParser 优化 COUNT
|
|
|
try {
|
|
|
// TODO: 2017/11/20 这里我改动了下.
|
|
|
- COUNT_SQL_PARSER = (ISqlParser) Class.forName("com.baomidou.mybatisplus.plugins.pagination.optimize.JsqlParserCountOptimize").newInstance();
|
|
|
- } catch (InstantiationException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (IllegalAccessException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (ClassNotFoundException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ COUNT_SQL_PARSER = DEFAULT_CLASS.newInstance();
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new MybatisPlusException(e);
|
|
|
}
|
|
|
}
|
|
|
}
|