From 073931b000c34825565e7df7ba8ec1587e4d9865 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Thu, 17 Nov 2022 17:02:57 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E5=8D=87=E7=BA=A70.0.5=EF=BC=8C?= =?UTF-8?q?=E5=B0=8F=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 95c0136..111631e 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,24 @@ public class FluentSqlConfig { } ``` +## 单表查询 +单表查询可以省略结果映射,程序自动使用主表实体进行自动映射 + +```java +class Test { + + public static void main(String[] args) { + // 单表查询所有字段 + List tenants = select().from(SaasTenant.class).list(); + // 单表查询指定字段,条件 年龄小于50 + List points = select(SaasTenant::getId, SaasTenant::getName).from(SaasTenant.class) + .matching(where(SaasTenant::getAge).lt(50)) + .list(); + } +} + +``` + ## 对比直接书写SQL 本小组件主要解决的是sql的书写问题,旨在用更加优雅的方式实现sql,并且不用再担心数据库方言(SQL Dialect) From a0da723f5ea9fc7c49d074873c52a157e61a11b0 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Fri, 9 Dec 2022 08:49:26 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E5=8D=95?= =?UTF-8?q?=E8=A1=A8=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flyfish/framework/FluentJdbcTest.java | 3 ++ .../framework/cases/SingleTableTestCase.java | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/SingleTableTestCase.java diff --git a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java index ad32677..1cfa788 100644 --- a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java +++ b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java @@ -7,6 +7,7 @@ import group.flyfish.fluent.operations.JdbcTemplateFluentSQLOperations; import group.flyfish.framework.cases.FluentSqlTestCase; import group.flyfish.framework.cases.JdbcTestCase; import group.flyfish.framework.cases.MybatisTestCase; +import group.flyfish.framework.cases.SingleTableTestCase; import org.junit.Test; import org.springframework.context.annotation.Bean; import org.springframework.jdbc.core.JdbcOperations; @@ -46,6 +47,8 @@ public class FluentJdbcTest { ); // 执行测试 cases.forEach(TestCase::test); + // 单表测试 + new SingleTableTestCase().test(); } /** diff --git a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/SingleTableTestCase.java b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/SingleTableTestCase.java new file mode 100644 index 0000000..740bea6 --- /dev/null +++ b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/SingleTableTestCase.java @@ -0,0 +1,43 @@ +package group.flyfish.framework.cases; + +import group.flyfish.framework.TestCase; +import group.flyfish.framework.entity.SaasTenant; + +import java.util.List; + +import static group.flyfish.fluent.chain.SQL.select; + +/** + * 单表测试用例 + * + * @author wangyu + */ +@TestCase.Name("单表查询测试") +public class SingleTableTestCase extends AbstractTestCase> { + + public SingleTableTestCase() { + super(null); + } + + /** + * 初始化 + * + * @throws Exception 异常 + */ + @Override + public void initialize() throws Exception { + + } + + /** + * 测试运行逻辑 + * + * @return 运行结果 + * @throws Exception 异常 + */ + @Override + public List run() throws Exception { + // 单表查询 + return select().from(SaasTenant.class).list(); + } +} From 1cf36280eceb1f318e46fd9e4700039bfd640190 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Fri, 9 Dec 2022 17:24:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96mybatis=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=EF=BC=8C=E9=81=BF=E5=85=8D=E4=B8=8B?= =?UTF-8?q?=E5=88=92=E7=BA=BF=E5=BD=B1=E5=93=8D=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/test/java/group/flyfish/framework/FluentJdbcTest.java | 2 +- .../java/group/flyfish/framework/cases/FluentSqlTestCase.java | 2 +- .../java/group/flyfish/framework/cases/MybatisTestCase.java | 2 ++ .../group/flyfish/framework/mapper/TenantContextMapper.xml | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java index 1cfa788..e1ae872 100644 --- a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java +++ b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/FluentJdbcTest.java @@ -37,7 +37,7 @@ public class FluentJdbcTest { new Driver(), "jdbc:mysql://127.0.0.1:3306/epi_project?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai", "root", - "Unicom#2018" + "oI3WtMO8h%mSYARp" ); // 准备待测试用例 List> cases = Arrays.asList( diff --git a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/FluentSqlTestCase.java b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/FluentSqlTestCase.java index d6c1d03..f4acd9b 100644 --- a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/FluentSqlTestCase.java +++ b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/FluentSqlTestCase.java @@ -33,7 +33,7 @@ public class FluentSqlTestCase extends AbstractTestCase> { // 基于构造器自动绑定注册,在实际应用中使用@Bean声明即可,可参考下面的demo new JdbcTemplateFluentSQLOperations(new JdbcTemplate(dataSource)); // 启用调试 - FluentSqlDebugger.enable(); +// FluentSqlDebugger.enable(); } /** diff --git a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/MybatisTestCase.java b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/MybatisTestCase.java index 0cb6332..b08067b 100644 --- a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/MybatisTestCase.java +++ b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/cases/MybatisTestCase.java @@ -1,6 +1,7 @@ package group.flyfish.framework.cases; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import group.flyfish.fluent.utils.data.ObjectMappers; import group.flyfish.framework.TestCase; import group.flyfish.framework.entity.SaasQuota; import group.flyfish.framework.entity.SaasTenant; @@ -40,6 +41,7 @@ public class MybatisTestCase extends AbstractTestCase> { Configuration configuration = new Configuration(environment); configuration.addMapper(TenantContextMapper.class); TypeHandlerRegistry registry = configuration.getTypeHandlerRegistry(); + JacksonTypeHandler.setObjectMapper(ObjectMappers.shared()); registry.register(SaasTenant.DataSourceConfig.class, JacksonTypeHandler.class); registry.register(SaasQuota.class, JacksonTypeHandler.class); registry.register(SaasTenant.StorageConfig.class, JacksonTypeHandler.class); diff --git a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/mapper/TenantContextMapper.xml b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/mapper/TenantContextMapper.xml index 64aacff..3932c5e 100644 --- a/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/mapper/TenantContextMapper.xml +++ b/fluent-sql-spring-jdbc/src/test/java/group/flyfish/framework/mapper/TenantContextMapper.xml @@ -10,7 +10,7 @@ - + @@ -24,7 +24,7 @@ t1.`storage` as `storage`, t1.`status` as `status`, t1.`enable` as `enable`, - t2.`quota_config` as `quotaConfig`, + t2.`quota_config` as `quota`, t2.`order_time` as `orderTime`, t2.`expire_time` as `expireTime`, t2.`order_type` as `orderType`