diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/pom.xml b/spring-boot-service-template-database/spring-boot-service-template-database-eq/pom.xml
index 58ab8c7..f8a06a1 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/pom.xml
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/pom.xml
@@ -29,8 +29,8 @@
- com.h2database
- h2
+ com.lanyuanxiaoyao
+ spring-boot-service-template-database-common-test
test
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/controller/SimpleControllerSupport.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/controller/SimpleControllerSupport.java
similarity index 97%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/controller/SimpleControllerSupport.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/controller/SimpleControllerSupport.java
index 92cab61..74fbab6 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/controller/SimpleControllerSupport.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/controller/SimpleControllerSupport.java
@@ -1,4 +1,4 @@
-package com.lanyuanxiaoyao.service.template.eq.controller;
+package com.lanyuanxiaoyao.service.template.database.eq.controller;
import com.easy.query.core.proxy.AbstractProxyEntity;
import com.easy.query.core.proxy.ProxyEntityAvailable;
@@ -6,8 +6,8 @@ import com.lanyuanxiaoyao.service.template.common.helper.ObjectHelper;
import com.lanyuanxiaoyao.service.template.database.common.controller.SimpleController;
import com.lanyuanxiaoyao.service.template.database.common.entity.GlobalResponse;
import com.lanyuanxiaoyao.service.template.database.common.entity.Query;
-import com.lanyuanxiaoyao.service.template.eq.entity.SimpleEntity;
-import com.lanyuanxiaoyao.service.template.eq.service.SimpleServiceSupport;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.SimpleEntity;
+import com.lanyuanxiaoyao.service.template.database.eq.service.SimpleServiceSupport;
import java.util.function.Function;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/IdOnlyEntity.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/IdOnlyEntity.java
similarity index 84%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/IdOnlyEntity.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/IdOnlyEntity.java
index 5963a77..b25161d 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/IdOnlyEntity.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/IdOnlyEntity.java
@@ -1,4 +1,4 @@
-package com.lanyuanxiaoyao.service.template.eq.entity;
+package com.lanyuanxiaoyao.service.template.database.eq.entity;
import com.easy.query.core.annotation.Column;
import lombok.Getter;
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/LogicDeleteEntity.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/LogicDeleteEntity.java
new file mode 100644
index 0000000..29dcdd0
--- /dev/null
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/LogicDeleteEntity.java
@@ -0,0 +1,16 @@
+package com.lanyuanxiaoyao.service.template.database.eq.entity;
+
+import com.easy.query.core.annotation.LogicDelete;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.FieldNameConstants;
+
+@Getter
+@Setter
+@ToString
+@FieldNameConstants
+public class LogicDeleteEntity extends IdOnlyEntity {
+ @LogicDelete
+ private Boolean deleted = false;
+}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/SimpleEntity.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/SimpleEntity.java
similarity index 71%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/SimpleEntity.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/SimpleEntity.java
index 8ace449..24de424 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/SimpleEntity.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/SimpleEntity.java
@@ -1,4 +1,4 @@
-package com.lanyuanxiaoyao.service.template.eq.entity;
+package com.lanyuanxiaoyao.service.template.database.eq.entity;
import java.time.LocalDateTime;
import lombok.Getter;
@@ -10,7 +10,7 @@ import lombok.experimental.FieldNameConstants;
@Setter
@ToString(callSuper = true)
@FieldNameConstants
-public class SimpleEntity extends IdOnlyEntity {
+public class SimpleEntity extends LogicDeleteEntity {
private LocalDateTime createdTime;
private LocalDateTime modifiedTime;
}
\ No newline at end of file
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/SnowflakeIdGenerator.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/SnowflakeIdGenerator.java
similarity index 86%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/SnowflakeIdGenerator.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/SnowflakeIdGenerator.java
index fc8ae05..388ed6f 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/entity/SnowflakeIdGenerator.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/entity/SnowflakeIdGenerator.java
@@ -1,4 +1,4 @@
-package com.lanyuanxiaoyao.service.template.eq.entity;
+package com.lanyuanxiaoyao.service.template.database.eq.entity;
import com.easy.query.core.basic.extension.generated.PrimaryKeyGenerator;
import com.lanyuanxiaoyao.service.template.database.common.helper.SnowflakeHelper;
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/service/SimpleServiceSupport.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java
similarity index 95%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/service/SimpleServiceSupport.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java
index c020994..55ffffd 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/eq/service/SimpleServiceSupport.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java
@@ -1,4 +1,4 @@
-package com.lanyuanxiaoyao.service.template.eq.service;
+package com.lanyuanxiaoyao.service.template.database.eq.service;
import com.easy.query.api.proxy.client.EasyEntityQuery;
import com.easy.query.core.enums.SQLExecuteStrategyEnum;
@@ -10,7 +10,7 @@ import com.lanyuanxiaoyao.service.template.database.common.entity.Query;
import com.lanyuanxiaoyao.service.template.database.common.exception.IdNotFoundException;
import com.lanyuanxiaoyao.service.template.database.common.service.QueryParser;
import com.lanyuanxiaoyao.service.template.database.common.service.SimpleService;
-import com.lanyuanxiaoyao.service.template.eq.entity.SimpleEntity;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.SimpleEntity;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -263,12 +263,18 @@ public abstract class SimpleServiceSupport {
+ proxy.anyColumn(column).gt(value.start());
+ proxy.anyColumn(column).le(value.end());
+ });
}
@Override
protected void notBetween(Query.Queryable queryable, PROXY proxy) {
- throw new UnsupportedOperationException();
+ queryable.between().forEach((column, value) -> {
+ proxy.anyColumn(column).le(value.start());
+ proxy.anyColumn(column).gt(value.end());
+ });
}
}
}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/initial.sql b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/initial.sql
index 830cc57..8cac5b1 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/initial.sql
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/initial.sql
@@ -4,7 +4,8 @@ create table if not exists Company
name varchar(255) not null,
members int not null,
created_time timestamp not null default current_timestamp(),
- modified_time timestamp not null default current_timestamp() on update current_timestamp()
+ modified_time timestamp not null default current_timestamp() on update current_timestamp(),
+ deleted tinyint not null default false
);
create table if not exists Employee
@@ -12,6 +13,8 @@ create table if not exists Employee
id bigint primary key,
name varchar(255) not null,
age int not null,
+ company_id bigint not null,
created_time timestamp not null default current_timestamp(),
- modified_time timestamp not null default current_timestamp() on update current_timestamp()
+ modified_time timestamp not null default current_timestamp() on update current_timestamp(),
+ deleted tinyint not null default false
);
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/TestApplication.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/TestApplication.java
new file mode 100644
index 0000000..9fd80e6
--- /dev/null
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/TestApplication.java
@@ -0,0 +1,76 @@
+package com.lanyuanxiaoyao.service.template.database.eq;
+
+import com.easy.query.api.proxy.client.EasyEntityQuery;
+import com.lanyuanxiaoyao.service.template.database.common.test.AbstractTestApplication;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.Company;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.Employee;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.proxy.EmployeeProxy;
+import java.util.List;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.event.EventListener;
+import org.springframework.util.Assert;
+
+@Slf4j
+@RequiredArgsConstructor
+@SpringBootApplication
+public class TestApplication extends AbstractTestApplication {
+ private final EasyEntityQuery entityQuery;
+
+ public static void main(String[] args) {
+ SpringApplication.run(TestApplication.class, args);
+ }
+
+ @EventListener(ApplicationReadyEvent.class)
+ public void runTests() {
+ testCrud();
+ testDelete();
+ testQuery();
+
+ System.exit(0);
+ }
+
+ private void testDelete() {
+ formatLog("Delete");
+ saveItem("company", randomCompany());
+ saveItem("company", randomCompany());
+ entityQuery.deletable(Company.class)
+ .where(proxy -> proxy.id().isNotNull())
+ .allowDeleteStatement(true)
+ .executeRows();
+ }
+
+ private void testQuery() {
+ formatLog("Added");
+ var company1 = Company.builder().name(randomString(5)).members(randomInt(100)).build();
+ entityQuery.insertable(company1).executeRows();
+ var company2 = Company.builder().name(randomString(5)).members(randomInt(100)).build();
+ entityQuery.insertable(company2).executeRows();
+ var employee1 = Employee.builder().name("Tom").age(randomInt(100)).companyId(company1.getId()).build();
+ entityQuery.insertable(employee1).executeRows();
+ var employee2 = Employee.builder().name(randomString(10)).age(randomInt(100)).companyId(company2.getId()).build();
+ entityQuery.insertable(employee2).executeRows();
+
+ formatLog("Query");
+ var employees1 = entityQuery.queryable(Employee.class)
+ .include(EmployeeProxy::company)
+ .where(proxy -> {
+ proxy.name().isNotNull();
+ proxy.name().eq("Tom");
+ proxy.name().startsWith("To");
+ proxy.name().endsWith("om");
+ proxy.age().lt(200);
+ proxy.age().gt(0);
+ proxy.name().in(List.of("Tom", "Mike"));
+ })
+ .toList();
+ Assert.isTrue(employees1.size() == 1, "查询数量错误");
+
+ formatLog("Clean");
+ entityQuery.deletable(Company.class).where(proxy -> proxy.id().isNotNull()).executeRows();
+ entityQuery.deletable(Employee.class).where(proxy -> proxy.id().isNotNull()).executeRows();
+ }
+}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/controller/CompanyController.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/controller/CompanyController.java
similarity index 84%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/controller/CompanyController.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/controller/CompanyController.java
index c5a55e4..fa30e37 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/controller/CompanyController.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/controller/CompanyController.java
@@ -1,8 +1,8 @@
-package com.lanyuanxiaoyao.service.template.eq.controller;
+package com.lanyuanxiaoyao.service.template.database.eq.controller;
-import com.lanyuanxiaoyao.service.template.eq.entity.Company;
-import com.lanyuanxiaoyao.service.template.eq.entity.proxy.CompanyProxy;
-import com.lanyuanxiaoyao.service.template.eq.service.CompanyService;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.Company;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.proxy.CompanyProxy;
+import com.lanyuanxiaoyao.service.template.database.eq.service.CompanyService;
import java.time.LocalDateTime;
import java.util.function.Function;
import lombok.extern.slf4j.Slf4j;
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/entity/Company.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/entity/Company.java
new file mode 100644
index 0000000..5d7a0db
--- /dev/null
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/entity/Company.java
@@ -0,0 +1,33 @@
+package com.lanyuanxiaoyao.service.template.database.eq.entity;
+
+import com.easy.query.core.annotation.EntityProxy;
+import com.easy.query.core.annotation.Navigate;
+import com.easy.query.core.annotation.Table;
+import com.easy.query.core.enums.RelationTypeEnum;
+import com.easy.query.core.proxy.ProxyEntityAvailable;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.proxy.CompanyProxy;
+import java.util.List;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.FieldNameConstants;
+
+@Getter
+@Setter
+@ToString(callSuper = true)
+@FieldNameConstants
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Table
+@EntityProxy
+public class Company extends SimpleEntity implements ProxyEntityAvailable {
+ private String name;
+ private Integer members;
+
+ @Navigate(value = RelationTypeEnum.OneToMany, selfProperty = {"id"}, targetProperty = {"companyId"})
+ private List employees;
+}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/entity/Employee.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/entity/Employee.java
new file mode 100644
index 0000000..25248f9
--- /dev/null
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/entity/Employee.java
@@ -0,0 +1,33 @@
+package com.lanyuanxiaoyao.service.template.database.eq.entity;
+
+import com.easy.query.core.annotation.EntityProxy;
+import com.easy.query.core.annotation.Navigate;
+import com.easy.query.core.annotation.Table;
+import com.easy.query.core.enums.RelationTypeEnum;
+import com.easy.query.core.proxy.ProxyEntityAvailable;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.proxy.EmployeeProxy;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.FieldNameConstants;
+
+@Getter
+@Setter
+@ToString(callSuper = true)
+@FieldNameConstants
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Table
+@EntityProxy
+public class Employee extends SimpleEntity implements ProxyEntityAvailable {
+ private String name;
+ private Integer age;
+ private Long companyId;
+
+ @Navigate(value = RelationTypeEnum.OneToOne, selfProperty = {"companyId"}, targetProperty = {"id"})
+ private Company company;
+}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/service/CompanyService.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/service/CompanyService.java
similarity index 57%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/service/CompanyService.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/service/CompanyService.java
index 77081d6..0e87184 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/service/CompanyService.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/service/CompanyService.java
@@ -1,8 +1,8 @@
-package com.lanyuanxiaoyao.service.template.eq.service;
+package com.lanyuanxiaoyao.service.template.database.eq.service;
import com.easy.query.api.proxy.client.EasyEntityQuery;
-import com.lanyuanxiaoyao.service.template.eq.entity.Company;
-import com.lanyuanxiaoyao.service.template.eq.entity.proxy.CompanyProxy;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.Company;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.proxy.CompanyProxy;
import org.springframework.stereotype.Service;
@Service
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/service/EmployeeService.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/service/EmployeeService.java
similarity index 57%
rename from spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/service/EmployeeService.java
rename to spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/service/EmployeeService.java
index eb491d9..454aa09 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/service/EmployeeService.java
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/database/eq/service/EmployeeService.java
@@ -1,8 +1,8 @@
-package com.lanyuanxiaoyao.service.template.eq.service;
+package com.lanyuanxiaoyao.service.template.database.eq.service;
import com.easy.query.api.proxy.client.EasyEntityQuery;
-import com.lanyuanxiaoyao.service.template.eq.entity.Employee;
-import com.lanyuanxiaoyao.service.template.eq.entity.proxy.EmployeeProxy;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.Employee;
+import com.lanyuanxiaoyao.service.template.database.eq.entity.proxy.EmployeeProxy;
import org.springframework.stereotype.Service;
@Service
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/TestApplication.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/TestApplication.java
deleted file mode 100644
index 9a67043..0000000
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/TestApplication.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package com.lanyuanxiaoyao.service.template.eq;
-
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.event.ApplicationReadyEvent;
-import org.springframework.context.event.EventListener;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.util.Assert;
-import org.springframework.web.client.RestTemplate;
-import tools.jackson.databind.JsonNode;
-import tools.jackson.databind.ObjectMapper;
-
-@Slf4j
-@RequiredArgsConstructor
-@SpringBootApplication
-public class TestApplication {
- private static final String BASE_URL = "http://localhost:2490";
- private static final RestTemplate REST_CLIENT = new RestTemplate();
- private static final ObjectMapper MAPPER = new ObjectMapper();
-
- public static void main(String[] args) {
- SpringApplication.run(TestApplication.class, args);
- }
-
- @EventListener(ApplicationReadyEvent.class)
- public void runTests() {
- // 增
- var cid1 = saveItem("company", "{\"name\": \"Apple\",\"members\": 10}").get("data").asLong();
- var cid2 = saveItem("company", "{\"name\": \"Banana\",\"members\": 20}").get("data").asLong();
- var cid3 = saveItem("company", "{\"name\": \"Cheery\",\"members\": 20}").get("data").asLong();
-
- // 查
- var companies = listItems("company");
- Assert.isTrue(companies.at("/data/items").size() == 3, "数量错误");
- Assert.isTrue(companies.at("/data/total").asLong() == 3, "返回数量错误");
-
- // language=JSON
- var companies2 = listItems("company", "{\n" +
- " \"page\": {\n" +
- " \"index\": 1,\n" +
- " \"size\": 2\n" +
- " }\n" +
- "}");
- Assert.isTrue(companies2.at("/data/items").size() == 2, "数量错误");
- Assert.isTrue(companies2.at("/data/total").asLong() == 3, "返回数量错误");
- // language=JSON
- var companies3 = listItems("company", "{\n" +
- " \"query\": {\n" +
- " \"notNullEqual\": [\n" +
- " \"name\"\n" +
- " ],\n" +
- " \"equal\": {\n" +
- " \"name\": \"Apple\"\n" +
- " },\n" +
- " \"like\": {\n" +
- " \"name\": \"Appl%\"\n" +
- " },\n" +
- " \"contain\": {\n" +
- " \"name\": \"ple\"\n" +
- " },\n" +
- " \"startWith\": {\n" +
- " \"name\": \"Appl\"\n" +
- " },\n" +
- " \"endWith\": {\n" +
- " \"name\": \"le\"\n" +
- " },\n" +
- " \"less\": {\n" +
- " \"members\": 50\n" +
- " },\n" +
- " \"greatEqual\": {\n" +
- " \"members\": 0,\n" +
- " \"createdTime\": \"2025-01-01 00:00:00\"\n" +
- " },\n" +
- " \"inside\": {\n" +
- " \"name\": [\n" +
- " \"Apple\",\n" +
- " \"Banana\"\n" +
- " ]\n" +
- " }\n" +
- " },\n" +
- " \"page\": {\n" +
- " \"index\": 1,\n" +
- " \"size\": 2\n" +
- " }\n" +
- "}");
- Assert.isTrue(companies3.at("/data/items").size() == 1, "数量错误");
- Assert.isTrue(companies3.at("/data/total").asLong() == 1, "返回数量错误");
-
- var company1 = detailItem("company", cid1);
- Assert.isTrue(cid1 == company1.at("/data/id").asLong(), "id错误");
- Assert.isTrue("Apple".equals(company1.at("/data/name").asString()), "name错误");
-
- // 改
- var cid4 = saveItem("company", "{\"id\": %d, \"name\": \"Dog\"}".formatted(cid2)).get("data").asLong();
- Assert.isTrue(cid2 == cid4, "id错误");
- var company2 = detailItem("company", cid2);
- Assert.isTrue("Dog".equals(company2.at("/data/name").asString()), "name错误");
-
- // 删
- removeItem("company", cid3);
- Assert.isTrue(listItems("company").at("/data/items").size() == 2, "数量错误");
- Assert.isTrue(listItems("company").at("/data/total").asLong() == 2, "返回数量错误");
-
- log.info(listItems("company").toPrettyString());
- System.exit(0);
- }
-
- private HttpHeaders headers() {
- var headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- return headers;
- }
-
- private JsonNode saveItem(String path, String body) {
- var response = REST_CLIENT.postForEntity(
- "%s/%s/save".formatted(BASE_URL, path),
- new HttpEntity<>(body, headers()),
- String.class
- );
- Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "请求失败");
- Assert.notNull(response.getBody(), "请求失败");
- return MAPPER.readTree(response.getBody());
- }
-
- private JsonNode listItems(String path) {
- var response = REST_CLIENT.getForEntity(
- "%s/%s/list".formatted(BASE_URL, path),
- String.class
- );
- Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "请求失败");
- Assert.notNull(response.getBody(), "请求失败");
- return MAPPER.readTree(response.getBody());
- }
-
- private JsonNode listItems(String path, String query) {
- var response = REST_CLIENT.postForEntity(
- "%s/%s/list".formatted(BASE_URL, path),
- new HttpEntity<>(query, headers()),
- String.class
- );
- Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "请求失败");
- Assert.notNull(response.getBody(), "请求失败");
- return MAPPER.readTree(response.getBody());
- }
-
- private JsonNode detailItem(String path, Long id) {
- var response = REST_CLIENT.getForEntity(
- "%s/%s/detail/%d".formatted(BASE_URL, path, id),
- String.class
- );
- Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "请求失败");
- Assert.notNull(response.getBody(), "请求失败");
- return MAPPER.readTree(response.getBody());
- }
-
- private void removeItem(String path, Long id) {
- var response = REST_CLIENT.getForEntity(
- "%s/%s/remove/%d".formatted(BASE_URL, path, id),
- Void.class
- );
- Assert.isTrue(response.getStatusCode().is2xxSuccessful(), "请求失败");
- }
-}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/entity/Company.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/entity/Company.java
deleted file mode 100644
index 9ade63a..0000000
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/entity/Company.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.lanyuanxiaoyao.service.template.eq.entity;
-
-import com.easy.query.core.annotation.EntityProxy;
-import com.easy.query.core.annotation.Table;
-import com.easy.query.core.proxy.ProxyEntityAvailable;
-import com.lanyuanxiaoyao.service.template.eq.entity.proxy.CompanyProxy;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.FieldNameConstants;
-
-@Getter
-@Setter
-@ToString(callSuper = true)
-@FieldNameConstants
-@Table
-@EntityProxy
-public class Company extends SimpleEntity implements ProxyEntityAvailable {
- private String name;
- private Integer members;
-}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/entity/Employee.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/entity/Employee.java
deleted file mode 100644
index 204ac5b..0000000
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/java/com/lanyuanxiaoyao/service/template/eq/entity/Employee.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.lanyuanxiaoyao.service.template.eq.entity;
-
-import com.easy.query.core.annotation.EntityProxy;
-import com.easy.query.core.annotation.Table;
-import com.easy.query.core.proxy.ProxyEntityAvailable;
-import com.lanyuanxiaoyao.service.template.eq.entity.proxy.EmployeeProxy;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.FieldNameConstants;
-
-@Getter
-@Setter
-@ToString(callSuper = true)
-@FieldNameConstants
-@Table
-@EntityProxy
-public class Employee extends SimpleEntity implements ProxyEntityAvailable {
- private String name;
- private Integer age;
-}
diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/resources/application.yml b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/resources/application.yml
index 5237f04..e8dfe8f 100644
--- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/resources/application.yml
+++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/resources/application.yml
@@ -1,8 +1,6 @@
-server:
- port: 2490
spring:
- application:
- name: Test
+ profiles:
+ include: test
datasource:
url: "jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MODE=MySQL;DATABASE_TO_LOWER=TRUE;INIT=runscript from '/Users/lanyuanxiaoyao/Project/IdeaProjects/spring-boot-service-template/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/test/initial.sql'"
username: test
@@ -12,13 +10,4 @@ easy-query:
database: mysql
name-conversion: underlined
print-sql: false
-decorator:
- datasource:
- p6spy:
- multiline: false
- exclude-categories:
- - commit
- - result
- - resultset
- - rollback
- log-format: "%(category)|%(executionTime)|%(sqlSingleLine)"
\ No newline at end of file
+ print-nav-sql: false