From 2c228917e27d0e2e28ced296f7207dbd94a8dc83 Mon Sep 17 00:00:00 2001 From: simmyan <8966188@qq.com> Date: Sat, 23 Mar 2024 10:15:35 +0800 Subject: [PATCH] 2.1.8 --- pom.xml | 2 +- .../sqli/builder/internal/PageSqlSupport.java | 2 +- .../io/xream/sqli/dialect/DynamicDialect.java | 4 +-- .../io/xream/sqli/dialect/MySqlDialect.java | 8 ++--- .../io/xream/sqli/dialect/OracleDialect.java | 13 +++++--- .../io/xream/sqli/repository/dao/Dao.java | 1 - .../io/xream/sqli/repository/dao/DaoImpl.java | 31 ------------------- .../xream/sqli/repository/dao/SqlBuilder.java | 22 ++++++------- .../internal/DefaultRepositoryX.java | 5 ++- 9 files changed, 30 insertions(+), 58 deletions(-) diff --git a/pom.xml b/pom.xml index d07a09e9..e801240c 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ true 1.0.0 2.1.8 - 2.13.4.2 + 2.17.0 1.7.30 diff --git a/sqli-builder/src/main/java/io/xream/sqli/builder/internal/PageSqlSupport.java b/sqli-builder/src/main/java/io/xream/sqli/builder/internal/PageSqlSupport.java index bfaa51f8..35ae58ce 100644 --- a/sqli-builder/src/main/java/io/xream/sqli/builder/internal/PageSqlSupport.java +++ b/sqli-builder/src/main/java/io/xream/sqli/builder/internal/PageSqlSupport.java @@ -22,5 +22,5 @@ * @author Sim */ public interface PageSqlSupport { - String buildPageSql(String originSql, long start, long rows, long last); + StringBuilder buildPageSql(StringBuilder sb, long start, long rows, long last); } diff --git a/sqli-core/src/main/java/io/xream/sqli/dialect/DynamicDialect.java b/sqli-core/src/main/java/io/xream/sqli/dialect/DynamicDialect.java index f1a0de3c..d75150e7 100644 --- a/sqli-core/src/main/java/io/xream/sqli/dialect/DynamicDialect.java +++ b/sqli-core/src/main/java/io/xream/sqli/dialect/DynamicDialect.java @@ -62,8 +62,8 @@ private Dialect getCurrentDialect() { } @Override - public String buildPageSql(String sql, long start, long rows,long last) { - return getCurrentDialect().buildPageSql(sql,start,rows,last); + public StringBuilder buildPageSql(StringBuilder sb, long start, long rows,long last) { + return getCurrentDialect().buildPageSql(sb,start,rows,last); } @Override diff --git a/sqli-dialect/src/main/java/io/xream/sqli/dialect/MySqlDialect.java b/sqli-dialect/src/main/java/io/xream/sqli/dialect/MySqlDialect.java index 6be50e52..19c16b2f 100644 --- a/sqli-dialect/src/main/java/io/xream/sqli/dialect/MySqlDialect.java +++ b/sqli-dialect/src/main/java/io/xream/sqli/dialect/MySqlDialect.java @@ -45,17 +45,15 @@ public String getKey(){ } @Override - public String buildPageSql(String origin, long start, long rows,long last) { + public StringBuilder buildPageSql(StringBuilder sb, long start, long rows,long last) { if (rows == 0) - return origin; - StringBuilder sb = new StringBuilder(); - sb.append(origin); + return sb; sb.append(SqlScript.LIMIT).append(rows); if (last == 0 && start > 0){ sb.append(SqlScript.OFFSET).append(start); } - return sb.toString(); + return sb; } diff --git a/sqli-dialect/src/main/java/io/xream/sqli/dialect/OracleDialect.java b/sqli-dialect/src/main/java/io/xream/sqli/dialect/OracleDialect.java index ec2877bd..84a3a579 100644 --- a/sqli-dialect/src/main/java/io/xream/sqli/dialect/OracleDialect.java +++ b/sqli-dialect/src/main/java/io/xream/sqli/dialect/OracleDialect.java @@ -64,13 +64,16 @@ public String getKey(){ return "oracle"; } @Override - public String buildPageSql(String origin, long start, long rows,long last) { + public StringBuilder buildPageSql(StringBuilder sb, long start, long rows,long last) { - if (rows > 0) - return ORACLE_PAGINATION.replace(ORACLE_PAGINATION_REGX_END, String.valueOf(start + rows)) + if (rows > 0) { + String origin = sb.toString(); + ORACLE_PAGINATION.replace(ORACLE_PAGINATION_REGX_END, String.valueOf(start + rows)) .replace(ORACLE_PAGINATION_REGX_BEGIN, String.valueOf(start)).replace(ORACLE_PAGINATION_REGX_SQL, origin); - return origin; - + sb = new StringBuilder(); + sb.append(origin); + } + return sb; } diff --git a/sqli-repo/src/main/java/io/xream/sqli/repository/dao/Dao.java b/sqli-repo/src/main/java/io/xream/sqli/repository/dao/Dao.java index 983af48b..c53fbfe4 100644 --- a/sqli-repo/src/main/java/io/xream/sqli/repository/dao/Dao.java +++ b/sqli-repo/src/main/java/io/xream/sqli/repository/dao/Dao.java @@ -44,7 +44,6 @@ public interface Dao extends QueryForCache { boolean createBatch(List objList); - boolean createOrReplaceBatch(List objList); boolean remove(KeyOne keyOne); boolean removeIn(Keys keys); diff --git a/sqli-repo/src/main/java/io/xream/sqli/repository/dao/DaoImpl.java b/sqli-repo/src/main/java/io/xream/sqli/repository/dao/DaoImpl.java index af6d8442..9dae5190 100644 --- a/sqli-repo/src/main/java/io/xream/sqli/repository/dao/DaoImpl.java +++ b/sqli-repo/src/main/java/io/xream/sqli/repository/dao/DaoImpl.java @@ -114,37 +114,6 @@ public boolean createBatch(List objList) { } } - @Override - public boolean createOrReplaceBatch(List objList) { - - if (objList.isEmpty()) - return false; - Object obj = objList.get(0); - Class clz = obj.getClass(); - String createSql = getSql(clz, SqlInit.CREATE); - - final String sql = this.dialect.createOrReplaceSql(createSql); - - SqliLoggerProxy.debug(clz, sql); - - Parsed parsed = Parser.get(clz); - JdbcHelper.BatchObjectValues batchObjectValues = () -> { - List> valuesList = new ArrayList<>(); - for (Object o : objList) { - Collection values= ObjectDataConverter.objectToListForCreate(o, parsed, dialect); - valuesList.add(values); - } - return valuesList; - }; - - final int batchSize = 500; - try { - return this.jdbcHelper.createBatch(clz, sql, batchObjectValues, batchSize, this.dialect); - } catch (Exception e) { - throw ExceptionTranslator.onRollback(clz, e, logger); - } - } - @Override public boolean remove(KeyOne keyOne) { diff --git a/sqli-repo/src/main/java/io/xream/sqli/repository/dao/SqlBuilder.java b/sqli-repo/src/main/java/io/xream/sqli/repository/dao/SqlBuilder.java index 85844973..f87a18c1 100644 --- a/sqli-repo/src/main/java/io/xream/sqli/repository/dao/SqlBuilder.java +++ b/sqli-repo/src/main/java/io/xream/sqli/repository/dao/SqlBuilder.java @@ -48,11 +48,11 @@ protected static SqlBuilder getInstance() { return instance; } - protected String buildPageSql(String sql, int page, int rows, Dialect dialect) { - int start = (page - 1) * rows; - - return dialect.buildPageSql(sql, start, rows,0); - } +// protected String buildPageSql(String sql, int page, int rows, Dialect dialect) { +// int start = (page - 1) * rows; +// +// return dialect.buildPageSql(sql, start, rows,0); +// } /** * 拼接SQL @@ -126,9 +126,9 @@ public List getSubList() { } }); - String sql = sqlBuilt.getSql().toString(); + StringBuilder sqlBuilder = sqlBuilt.getSql(); if (SqliStringUtil.isNotNull(q.getLastSqlSegment())) { - sql = sql + " " + q.getLastSqlSegment(); + sqlBuilder.append(SPACE).append(q.getLastSqlSegment()); } int page = q.getPage(); @@ -137,11 +137,11 @@ public List getSubList() { int start = (page - 1) * rows; long last = q.getLast(); - sql = dialect.buildPageSql(sql, start, rows,last); + sqlBuilder = dialect.buildPageSql(sqlBuilder, start, rows,last); - StringBuilder sb = new StringBuilder(); - sb.append(sql); - sqlBuilt.setSql(sb); +// StringBuilder sb = new StringBuilder(); +// sb.append(sql); + sqlBuilt.setSql(sqlBuilder); ObjectDataConverter.log(q, valueList); return sqlBuilt; diff --git a/sqli-repo/src/main/java/io/xream/sqli/repository/internal/DefaultRepositoryX.java b/sqli-repo/src/main/java/io/xream/sqli/repository/internal/DefaultRepositoryX.java index 0ca9e252..c8a3edd5 100644 --- a/sqli-repo/src/main/java/io/xream/sqli/repository/internal/DefaultRepositoryX.java +++ b/sqli-repo/src/main/java/io/xream/sqli/repository/internal/DefaultRepositoryX.java @@ -21,7 +21,10 @@ import io.xream.sqli.api.BaseRepository; import io.xream.sqli.api.RepositoryX; -import io.xream.sqli.builder.*; +import io.xream.sqli.builder.In; +import io.xream.sqli.builder.Q; +import io.xream.sqli.builder.Qr; +import io.xream.sqli.builder.RemoveRefreshCreate; import io.xream.sqli.core.*; import io.xream.sqli.exception.PersistenceException; import io.xream.sqli.exception.QSyntaxException;