diff --git a/example/example-app/example-app-cmd-domain/pom.xml b/example/example-app/example-app-cmd-domain/pom.xml index 2bf94e2d..ce0ceaca 100644 --- a/example/example-app/example-app-cmd-domain/pom.xml +++ b/example/example-app/example-app-cmd-domain/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot example-app - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-app/example-app-cmd-meta/pom.xml b/example/example-app/example-app-cmd-meta/pom.xml index bf4e7e30..1b076a83 100644 --- a/example/example-app/example-app-cmd-meta/pom.xml +++ b/example/example-app/example-app-cmd-meta/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot example-app - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-app/example-app-query/pom.xml b/example/example-app/example-app-query/pom.xml index f4be2259..b5cddefb 100644 --- a/example/example-app/example-app-query/pom.xml +++ b/example/example-app/example-app-query/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot example-app - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-app/pom.xml b/example/example-app/pom.xml index 4d0e3440..64d9e6ca 100644 --- a/example/example-app/pom.xml +++ b/example/example-app/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot springboot-example - 3.4.9 + 3.4.10 ../pom.xml pom diff --git a/example/example-domain/example-domain-leave/pom.xml b/example/example-domain/example-domain-leave/pom.xml index d42653d3..3cbc0754 100644 --- a/example/example-domain/example-domain-leave/pom.xml +++ b/example/example-domain/example-domain-leave/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot example-domain - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-domain/example-domain-user/pom.xml b/example/example-domain/example-domain-user/pom.xml index 88180876..db50b8c8 100644 --- a/example/example-domain/example-domain-user/pom.xml +++ b/example/example-domain/example-domain-user/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot example-domain - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-domain/pom.xml b/example/example-domain/pom.xml index 41320264..41fcf92e 100644 --- a/example/example-domain/pom.xml +++ b/example/example-domain/pom.xml @@ -5,7 +5,7 @@ com.codingapi.springboot springboot-example - 3.4.9 + 3.4.10 ../pom.xml 4.0.0 diff --git a/example/example-infra/example-infra-flow/pom.xml b/example/example-infra/example-infra-flow/pom.xml index 0eafc629..c2cc6069 100644 --- a/example/example-infra/example-infra-flow/pom.xml +++ b/example/example-infra/example-infra-flow/pom.xml @@ -5,7 +5,7 @@ com.codingapi.springboot example-infra - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-infra/example-infra-jpa/pom.xml b/example/example-infra/example-infra-jpa/pom.xml index a8ac9eef..bf97b684 100644 --- a/example/example-infra/example-infra-jpa/pom.xml +++ b/example/example-infra/example-infra-jpa/pom.xml @@ -5,7 +5,7 @@ com.codingapi.springboot example-infra - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-infra/example-infra-security/pom.xml b/example/example-infra/example-infra-security/pom.xml index 7beacc4b..934c186a 100644 --- a/example/example-infra/example-infra-security/pom.xml +++ b/example/example-infra/example-infra-security/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot example-infra - 3.4.9 + 3.4.10 ../pom.xml diff --git a/example/example-infra/pom.xml b/example/example-infra/pom.xml index 97858885..e48a5f39 100644 --- a/example/example-infra/pom.xml +++ b/example/example-infra/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot springboot-example - 3.4.9 + 3.4.10 ../pom.xml pom diff --git a/example/example-interface/pom.xml b/example/example-interface/pom.xml index 1dd2ac01..d349f84d 100644 --- a/example/example-interface/pom.xml +++ b/example/example-interface/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot springboot-example - 3.4.9 + 3.4.10 example-interface diff --git a/example/example-server/pom.xml b/example/example-server/pom.xml index de96aec7..383059f1 100644 --- a/example/example-server/pom.xml +++ b/example/example-server/pom.xml @@ -5,7 +5,7 @@ springboot-example com.codingapi.springboot - 3.4.9 + 3.4.10 4.0.0 diff --git a/example/pom.xml b/example/pom.xml index 367b42b2..b83fa97b 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -19,7 +19,7 @@ springboot-example - 3.4.9 + 3.4.10 springboot-example springboot-example project for Spring Boot diff --git a/pom.xml b/pom.xml index 5ca85b77..07f35194 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ com.codingapi.springboot springboot-parent - 3.4.9 + 3.4.10 https://github.com/codingapi/springboot-framewrok springboot-parent diff --git a/springboot-starter-data-authorization/pom.xml b/springboot-starter-data-authorization/pom.xml index cd8138a7..0f81b41e 100644 --- a/springboot-starter-data-authorization/pom.xml +++ b/springboot-starter-data-authorization/pom.xml @@ -6,7 +6,7 @@ com.codingapi.springboot springboot-parent - 3.4.9 + 3.4.10 springboot-starter-data-authorization diff --git a/springboot-starter-data-fast/pom.xml b/springboot-starter-data-fast/pom.xml index d2b6e67b..c9773635 100644 --- a/springboot-starter-data-fast/pom.xml +++ b/springboot-starter-data-fast/pom.xml @@ -5,7 +5,7 @@ springboot-parent com.codingapi.springboot - 3.4.9 + 3.4.10 4.0.0 diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jdbc/JdbcQuery.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jdbc/JdbcQuery.java index 0a3e8be0..b28743d4 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jdbc/JdbcQuery.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jdbc/JdbcQuery.java @@ -38,49 +38,49 @@ public Map mapRow(ResultSet rs, int rowNum) throws SQLException } } - public List> queryForMapList(SQLBuilder builder) { + public List> queryForMapList(SQLBuilder builder) { return queryForMapList(builder.getSQL(), builder.getParams()); } public List> queryForMapList(String sql, Object... params) { - return jdbcTemplate.query(sql, params, new CamelCaseRowMapper()); + return jdbcTemplate.query(sql, new CamelCaseRowMapper(), params); } - public List queryForList(SQLBuilder builder) { - return (List) queryForList(builder.getSQL(), builder.getClazz(), builder.getParams()); + public List queryForList(SQLBuilder builder) { + return queryForList(builder.getSQL(), builder.getClazz(), builder.getParams()); } public List queryForList(String sql, Class clazz, Object... params) { - return jdbcTemplate.query(sql, params, new BeanPropertyRowMapper<>(clazz)); + return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(clazz), params); } - public Page queryForPage(SQLBuilder builder, PageRequest pageRequest) { - return (Page)queryForPage(builder.getSQL(), builder.getCountSQL(), builder.getClazz(), pageRequest, builder.getParams()); + public Page queryForPage(SQLBuilder builder, PageRequest pageRequest) { + return queryForPage(builder.getSQL(), builder.getCountSQL(), builder.getClazz(), pageRequest, builder.getParams()); } public Page queryForPage(String sql, String countSql, Class clazz, PageRequest pageRequest, Object... params) { - List list = jdbcTemplate.query(sql, params, new BeanPropertyRowMapper<>(clazz)); + List list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(clazz), params); long count = this.countQuery(countSql, params); return new PageImpl<>(list, pageRequest, count); } public Page queryForPage(String sql, Class clazz, PageRequest pageRequest, Object... params) { - String countSql = "select count(1) " + sql; + String countSql = "SELECT COUNT(1) " + sql; return this.queryForPage(sql, countSql, clazz, pageRequest, params); } - public Page> queryForMapPage(SQLBuilder builder, PageRequest pageRequest) { + public Page> queryForMapPage(SQLBuilder builder, PageRequest pageRequest) { return queryForMapPage(builder.getSQL(), builder.getCountSQL(), pageRequest, builder.getParams()); } public Page> queryForMapPage(String sql, String countSql, PageRequest pageRequest, Object... params) { - List> list = jdbcTemplate.query(sql, params, new CamelCaseRowMapper()); + List> list = jdbcTemplate.query(sql, new CamelCaseRowMapper(), params); long count = this.countQuery(countSql, params); return new PageImpl<>(list, pageRequest, count); } public Page> queryForMapPage(String sql, PageRequest pageRequest, Object... params) { - String countSql = "select count(1) " + sql; + String countSql = "SELECT COUNT(1) " + sql; return this.queryForMapPage(sql, countSql, pageRequest, params); } @@ -92,6 +92,6 @@ private long countQuery(String sql, Object... params) { if (paramsLength > countSqlParamsLength) { System.arraycopy(params, 0, newParams, 0, countSqlParamsLength); } - return jdbcTemplate.queryForObject(sql, newParams, Long.class); + return jdbcTemplate.queryForObject(sql, Long.class, newParams); } } diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/JPAQuery.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/JPAQuery.java index 3e3e178a..820c20a2 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/JPAQuery.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/JPAQuery.java @@ -17,12 +17,12 @@ public class JPAQuery { private final EntityManager entityManager; - public List listQuery(SQLBuilder builder) { + public List listQuery(SQLBuilder builder) { return listQuery(builder.getClazz(),builder.getSQL(),builder.getParams()); } - public List listQuery(Class clazz, String sql, Object... params) { - TypedQuery query = entityManager.createQuery(sql, clazz); + public List listQuery(Class clazz, String sql, Object... params) { + TypedQuery query = entityManager.createQuery(sql, clazz); if (params != null) { for (int i = 0; i < params.length; i++) { query.setParameter(i + 1, params[i]); @@ -31,17 +31,17 @@ public List listQuery(Class clazz, String sql, Object... params) { return query.getResultList(); } - public Page pageQuery(SQLBuilder builder,PageRequest pageRequest) { + public Page pageQuery(SQLBuilder builder,PageRequest pageRequest) { return pageQuery(builder.getClazz(), builder.getSQL(), builder.getCountSQL(),pageRequest,builder.getParams()); } - public Page pageQuery(Class clazz, String sql, PageRequest pageRequest, Object... params) { - return pageQuery(clazz,sql,"select count(1) " + sql,pageRequest,params); + public Page pageQuery(Class clazz, String sql, PageRequest pageRequest, Object... params) { + return pageQuery(clazz,sql,"SELECT COUNT(1) " + sql,pageRequest,params); } - public Page pageQuery(Class clazz, String sql, String countSql, PageRequest pageRequest, Object... params) { - TypedQuery query = entityManager.createQuery(sql, clazz); + public Page pageQuery(Class clazz, String sql, String countSql, PageRequest pageRequest, Object... params) { + TypedQuery query = entityManager.createQuery(sql, clazz); if (params != null) { for (int i = 0; i < params.length; i++) { query.setParameter(i + 1, params[i]); @@ -49,7 +49,7 @@ public Page pageQuery(Class clazz, String sql, String countSql, PageReques } query.setFirstResult(pageRequest.getPageNumber() * pageRequest.getPageSize()); query.setMaxResults(pageRequest.getPageSize()); - return new PageImpl<>(query.getResultList(), pageRequest, countQuery(countSql, params)); + return new PageImpl(query.getResultList(), pageRequest, countQuery(countSql, params)); } @@ -64,16 +64,16 @@ private long countQuery(String sql, Object... params) { } public Page pageMapQuery(QueryColumns columns, String sql, String countSql, PageRequest pageRequest, Object... params) { - String querySql = "select new com.codingapi.springboot.fast.jpa.map.MapViewResult('"+columns.getKey()+"',"+ String.join(",", columns.getColumnSql()) + ") " + sql; - String countQuerySql = "select count(1) " + countSql; - Page result = (Page) pageQuery(MapViewResult.class,querySql,countQuerySql,pageRequest,params); + String querySql = "SELECT new com.codingapi.springboot.fast.jpa.map.MapViewResult('"+columns.getKey()+"',"+ String.join(",", columns.getColumnSql()) + ") " + sql; + String countQuerySql = "SELECT COUNT(1) " + countSql; + Page result = pageQuery(MapViewResult.class,querySql,countQuerySql,pageRequest,params); QueryColumnsContext.getInstance().clearCache(columns.getKey()); return result; } - public List listMapQuery(QueryColumns columns, String sql, Object... params) { - String querySql = "select new com.codingapi.springboot.fast.jpa.map.MapViewResult('"+columns.getKey()+"',"+ String.join(",", columns.getColumnSql()) + ") " + sql; - List result = listQuery(MapViewResult.class,querySql,params); + public List listMapQuery(QueryColumns columns, String sql, Object... params) { + String querySql = "SELECT new com.codingapi.springboot.fast.jpa.map.MapViewResult('"+columns.getKey()+"',"+ String.join(",", columns.getColumnSql()) + ") " + sql; + List result = listQuery(MapViewResult.class,querySql,params); QueryColumnsContext.getInstance().clearCache(columns.getKey()); return result; } diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/SQLBuilder.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/SQLBuilder.java index 9a3aebda..2639d614 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/SQLBuilder.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/SQLBuilder.java @@ -5,15 +5,15 @@ import java.util.ArrayList; import java.util.List; -public class SQLBuilder { +public class SQLBuilder { - private final StringBuilder sqlBuilder; + private final StringBuilder querySqlBuilder; private final StringBuilder countSQLBuilder; @Getter private int index; private final List params; @Getter - private final Class clazz; + private final Class clazz; public SQLBuilder(String sql) { this(null, sql, "select count(1) from " + sql); @@ -23,21 +23,26 @@ public SQLBuilder(String sql,String countSql) { this(null, sql, countSql); } - public SQLBuilder(Class clazz, String sql) { + public SQLBuilder(Class clazz, String sql) { this(clazz, sql, "select count(1) from " + sql); } - public SQLBuilder(Class clazz, String sql, String countSQL) { + public SQLBuilder(Class clazz, String sql, String countSQL) { this.countSQLBuilder = new StringBuilder(countSQL); - this.sqlBuilder = new StringBuilder(sql); + this.querySqlBuilder = new StringBuilder(sql); this.index = 1; this.params = new ArrayList<>(); this.clazz = clazz; } + /** + * Append SQL condition with a value.sql end value must be a placeholder (e.g., "?"). + * @param sql the SQL condition to append, e.g., "where id = ?" + * @param value the value to bind to the SQL condition + */ public void append(String sql, Object value) { if (value != null) { - sqlBuilder.append(" ").append(sql).append(index).append(" "); + querySqlBuilder.append(" ").append(sql).append(index).append(" "); countSQLBuilder.append(" ").append(sql).append(index).append(" "); params.add(value); index++; @@ -55,12 +60,12 @@ public void addParam(Object value,int index){ } public void appendSql(String sql){ - sqlBuilder.append(" ").append(sql).append(" "); + querySqlBuilder.append(" ").append(sql).append(" "); countSQLBuilder.append(" ").append(sql).append(" "); } public String getSQL() { - return sqlBuilder.toString(); + return querySqlBuilder.toString(); } public String getCountSQL() { diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicNativeRepository.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicNativeRepository.java index 7641a488..3adf3854 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicNativeRepository.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicNativeRepository.java @@ -12,7 +12,7 @@ @NoRepositoryBean public interface DynamicNativeRepository extends BaseRepository { - default List> dynamicNativeListMapQuery(SQLBuilder builder) { + default List> dynamicNativeListMapQuery(SQLBuilder builder) { return JdbcQueryContext.getInstance().getJdbcQuery().queryForMapList(builder); } @@ -28,7 +28,7 @@ default List dynamicNativeListQuery(Class clazz, String sql, Object... return JdbcQueryContext.getInstance().getJdbcQuery().queryForList(sql, clazz, params); } - default List dynamicNativeListQuery(SQLBuilder sqlBuilder) { + default List dynamicNativeListQuery(SQLBuilder sqlBuilder) { return JdbcQueryContext.getInstance().getJdbcQuery().queryForList(sqlBuilder); } @@ -48,11 +48,11 @@ default Page dynamicNativePageQuery(Class clazz, String sql, PageReque return JdbcQueryContext.getInstance().getJdbcQuery().queryForPage(sql, clazz, request, params); } - default Page dynamicNativePageQuery(SQLBuilder sqlBuilder, PageRequest request) { + default Page dynamicNativePageQuery(SQLBuilder sqlBuilder, PageRequest request) { return JdbcQueryContext.getInstance().getJdbcQuery().queryForPage(sqlBuilder, request); } - default Page> dynamicNativeMapPageMapQuery(SQLBuilder sqlBuilder,PageRequest request) { + default Page> dynamicNativeMapPageMapQuery(SQLBuilder sqlBuilder,PageRequest request) { return JdbcQueryContext.getInstance().getJdbcQuery().queryForMapPage(sqlBuilder,request); } diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicRepository.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicRepository.java index 9388b443..a18667e4 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicRepository.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/jpa/repository/DynamicRepository.java @@ -2,8 +2,8 @@ import com.codingapi.springboot.fast.jpa.JpaQueryContext; import com.codingapi.springboot.fast.jpa.SQLBuilder; -import com.codingapi.springboot.fast.jpa.map.QueryColumns; import com.codingapi.springboot.fast.jpa.map.MapViewResult; +import com.codingapi.springboot.fast.jpa.map.QueryColumns; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.repository.NoRepositoryBean; @@ -11,43 +11,42 @@ import java.util.List; @NoRepositoryBean -@SuppressWarnings("unchecked") public interface DynamicRepository extends BaseRepository { - default List dynamicListQuery(SQLBuilder builder) { - return (List) JpaQueryContext.getInstance().getJPAQuery().listQuery(builder); + default List dynamicListQuery(SQLBuilder builder) { + return JpaQueryContext.getInstance().getJPAQuery().listQuery(builder); } default List dynamicListQuery(String sql, Object... params) { - return (List) JpaQueryContext.getInstance().getJPAQuery().listQuery(getEntityClass(), sql, params); + return JpaQueryContext.getInstance().getJPAQuery().listQuery(getEntityClass(), sql, params); } default List dynamicListQuery(Class clazz, String sql, Object... params) { - return (List) JpaQueryContext.getInstance().getJPAQuery().listQuery(clazz, sql, params); + return JpaQueryContext.getInstance().getJPAQuery().listQuery(clazz, sql, params); } - default Page dynamicPageQuery(SQLBuilder builder, PageRequest request) { - return (Page) JpaQueryContext.getInstance().getJPAQuery().pageQuery(builder, request); + default Page dynamicPageQuery(SQLBuilder builder, PageRequest request) { + return JpaQueryContext.getInstance().getJPAQuery().pageQuery(builder, request); } default Page dynamicPageQuery(String sql, String countSql, PageRequest request, Object... params) { - return (Page) JpaQueryContext.getInstance().getJPAQuery().pageQuery(getEntityClass(), sql, countSql, request, params); + return JpaQueryContext.getInstance().getJPAQuery().pageQuery(getEntityClass(), sql, countSql, request, params); } default Page dynamicPageQuery(String sql, PageRequest request, Object... params) { - return (Page) JpaQueryContext.getInstance().getJPAQuery().pageQuery(getEntityClass(), sql, request, params); + return JpaQueryContext.getInstance().getJPAQuery().pageQuery(getEntityClass(), sql, request, params); } default Page dynamicPageQuery(Class clazz, String sql, String countSql, PageRequest request, Object... params) { - return (Page) JpaQueryContext.getInstance().getJPAQuery().pageQuery(clazz, sql, countSql, request, params); + return JpaQueryContext.getInstance().getJPAQuery().pageQuery(clazz, sql, countSql, request, params); } default Page dynamicMapPageQuery(QueryColumns columns, String sql, String countSql, PageRequest request, Object... params) { return JpaQueryContext.getInstance().getJPAQuery().pageMapQuery(columns, sql, countSql, request, params); } - default List dynamicMapListQuery(QueryColumns columns, String sql, Object... params) { - return (List) JpaQueryContext.getInstance().getJPAQuery().listMapQuery(columns, sql, params); + default List dynamicMapListQuery(QueryColumns columns, String sql, Object... params) { + return JpaQueryContext.getInstance().getJPAQuery().listMapQuery(columns, sql, params); } } diff --git a/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/DemoRepositoryTest.java b/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/DemoRepositoryTest.java index 6664d8c6..434d6c9c 100644 --- a/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/DemoRepositoryTest.java +++ b/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/DemoRepositoryTest.java @@ -1,5 +1,6 @@ package com.codingapi.springboot.fast; +import com.codingapi.springboot.fast.dto.DemoDTO; import com.codingapi.springboot.fast.entity.Demo; import com.codingapi.springboot.fast.jpa.SQLBuilder; import com.codingapi.springboot.fast.repository.DemoRepository; @@ -219,11 +220,11 @@ void dynamicListQuery() { demo2.setName("456"); demoRepository.save(demo2); - SQLBuilder builder = new SQLBuilder("from Demo where 1=1"); + SQLBuilder builder = new SQLBuilder<>(DemoDTO.class," select new com.codingapi.springboot.fast.dto.DemoDTO(id,name) from Demo where 1=1"); String search = "12"; builder.append("and name like ?","%"+search+"%"); - List list = demoRepository.dynamicListQuery(builder); + List list = demoRepository.dynamicListQuery(builder); assertEquals(1, list.size()); } @@ -240,7 +241,7 @@ void dynamicNativeListQuery() { demo2.setName("456"); demoRepository.save(demo2); - SQLBuilder builder = new SQLBuilder(Demo.class,"select * from t_demo where 1=1"); + SQLBuilder builder = new SQLBuilder<>(Demo.class,"select * from t_demo where 1=1"); String search = "12"; builder.append("and name like ?","%"+search+"%"); @@ -260,11 +261,13 @@ void dynamicPageQuery() { demo2.setName("456"); demoRepository.save(demo2); - SQLBuilder builder = new SQLBuilder(Demo.class,"select d from Demo d where 1=1","select count(1) from Demo d where 1=1"); + SQLBuilder builder = new SQLBuilder<>(DemoDTO.class, + "select new com.codingapi.springboot.fast.dto.DemoDTO(id,name) from Demo d where 1=1", + "select count(1) from Demo d where 1=1"); String search = "12"; builder.append("and d.name like ?","%"+search+"%"); - Page page = demoRepository.dynamicPageQuery(builder,PageRequest.of(1, 2)); + Page page = demoRepository.dynamicPageQuery(builder,PageRequest.of(1, 2)); assertEquals(1, page.getTotalElements()); } diff --git a/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/dto/DemoDTO.java b/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/dto/DemoDTO.java new file mode 100644 index 00000000..10c41789 --- /dev/null +++ b/springboot-starter-data-fast/src/test/java/com/codingapi/springboot/fast/dto/DemoDTO.java @@ -0,0 +1,16 @@ +package com.codingapi.springboot.fast.dto; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Setter +@Getter +@AllArgsConstructor +@NoArgsConstructor +public class DemoDTO { + private Integer id; + + private String name; +} diff --git a/springboot-starter-flow/pom.xml b/springboot-starter-flow/pom.xml index 4f7bcb37..18fa58d3 100644 --- a/springboot-starter-flow/pom.xml +++ b/springboot-starter-flow/pom.xml @@ -6,7 +6,7 @@ springboot-parent com.codingapi.springboot - 3.4.9 + 3.4.10 springboot-starter-flow diff --git a/springboot-starter-security/pom.xml b/springboot-starter-security/pom.xml index 6045363f..07116672 100644 --- a/springboot-starter-security/pom.xml +++ b/springboot-starter-security/pom.xml @@ -6,7 +6,7 @@ springboot-parent com.codingapi.springboot - 3.4.9 + 3.4.10 springboot-starter-security diff --git a/springboot-starter/pom.xml b/springboot-starter/pom.xml index af6ec22e..d69d8ee3 100644 --- a/springboot-starter/pom.xml +++ b/springboot-starter/pom.xml @@ -5,7 +5,7 @@ com.codingapi.springboot springboot-parent - 3.4.9 + 3.4.10 springboot-starter diff --git a/springboot-starter/src/main/resources/banner.txt b/springboot-starter/src/main/resources/banner.txt index c08e0f35..8cb31341 100644 --- a/springboot-starter/src/main/resources/banner.txt +++ b/springboot-starter/src/main/resources/banner.txt @@ -1,4 +1,4 @@ ------------------------------------------------------ -CodingApi SpringBoot-Starter 3.4.9 +CodingApi SpringBoot-Starter 3.4.10 springboot version (${spring-boot.version}) ------------------------------------------------------