From f69d91d904078332a29185a2c77a3a2bf64aa1cf Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Wed, 31 Jul 2024 23:10:43 +0800 Subject: [PATCH 01/16] =?UTF-8?q?feat:=20uni=20=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E5=AE=9E=E7=8E=B0=EF=BC=8C=E7=9B=AE=E5=89=8D?= =?UTF-8?q?=E5=8F=AA=E5=81=9A=E4=BA=86=20create?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- http/test.http | 2 +- my-ability-uni/build.gradle | 15 ++++ .../muyun/ability/uni/ICURDUniAbility.java | 4 ++ .../muyun/ability/uni/ICreateAbilityUni.java | 19 +++++ my-ability/build.gradle | 12 ++++ .../ximatai/muyun/ability}/ICURDAbility.java | 2 +- .../muyun/ability}/ICreateAbility.java | 4 +- .../muyun/ability}/IDeleteAbility.java | 4 +- .../muyun/ability}/ISelectAbility.java | 4 +- .../muyun/ability}/IUpdateAbility.java | 4 +- .../src/main/resources/application.properties | 4 ++ .../{core => }/ability/IDatabaseAbility.java | 2 +- .../muyun/ability/IDatabaseUniAbility.java | 9 +++ .../{core => }/ability/IMetadataAbility.java | 2 +- my-database-uni/build.gradle | 6 +- .../muyun/database/uni/UniDataAccess.java | 70 +++++++++++++++++++ my-database/build.gradle | 2 + .../muyun/database/IDatabaseAccess.java | 2 +- .../muyun/database/IDatabaseAccessBase.java | 21 ++++++ .../muyun/database/IDatabaseAccessUni.java | 24 +++++++ my-platform/build.gradle | 3 +- .../platform/controller/ModuleController.java | 18 ++--- settings.gradle | 3 +- 23 files changed, 207 insertions(+), 29 deletions(-) create mode 100644 my-ability-uni/build.gradle create mode 100644 my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java create mode 100644 my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java create mode 100644 my-ability/build.gradle rename {my-core/src/main/java/net/ximatai/muyun/core/ability/curd => my-ability/src/main/java/net/ximatai/muyun/ability}/ICURDAbility.java (70%) rename {my-core/src/main/java/net/ximatai/muyun/core/ability/curd => my-ability/src/main/java/net/ximatai/muyun/ability}/ICreateAbility.java (65%) rename {my-core/src/main/java/net/ximatai/muyun/core/ability/curd => my-ability/src/main/java/net/ximatai/muyun/ability}/IDeleteAbility.java (80%) rename {my-core/src/main/java/net/ximatai/muyun/core/ability/curd => my-ability/src/main/java/net/ximatai/muyun/ability}/ISelectAbility.java (70%) rename {my-core/src/main/java/net/ximatai/muyun/core/ability/curd => my-ability/src/main/java/net/ximatai/muyun/ability}/IUpdateAbility.java (80%) rename my-core/src/main/java/net/ximatai/muyun/{core => }/ability/IDatabaseAbility.java (76%) create mode 100644 my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java rename my-core/src/main/java/net/ximatai/muyun/{core => }/ability/IMetadataAbility.java (96%) create mode 100644 my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java create mode 100644 my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java create mode 100644 my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java diff --git a/http/test.http b/http/test.http index 392bda0..1207832 100644 --- a/http/test.http +++ b/http/test.http @@ -1,4 +1,4 @@ -POST http://localhost:8080/module/create +POST http://localhost:8080/api/module/create Content-Type: application/json { diff --git a/my-ability-uni/build.gradle b/my-ability-uni/build.gradle new file mode 100644 index 0000000..c618c47 --- /dev/null +++ b/my-ability-uni/build.gradle @@ -0,0 +1,15 @@ +plugins { + id 'java' + id 'java-library' + id 'checkstyle' + id 'configure-jandex' +} + + +dependencies { + api enforcedPlatform(libs.quarkus.platform.bom) + + api project(':my-ability') + api project(':my-database-uni') + +} diff --git a/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java b/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java new file mode 100644 index 0000000..f219215 --- /dev/null +++ b/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java @@ -0,0 +1,4 @@ +package net.ximatai.muyun.ability.uni; + +public interface ICURDUniAbility extends ICreateAbilityUni { +} diff --git a/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java b/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java new file mode 100644 index 0000000..e5442b0 --- /dev/null +++ b/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java @@ -0,0 +1,19 @@ +package net.ximatai.muyun.ability.uni; + +import io.smallrye.mutiny.Uni; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import net.ximatai.muyun.ability.IDatabaseUniAbility; +import net.ximatai.muyun.ability.IMetadataAbility; + +import java.util.Map; + +public interface ICreateAbilityUni extends IDatabaseUniAbility, IMetadataAbility { + + @POST + @Path("/create") + default Uni create(Map body) { + return getDatabase().insert(getInsertSql(body), body); + } + +} diff --git a/my-ability/build.gradle b/my-ability/build.gradle new file mode 100644 index 0000000..ecf6706 --- /dev/null +++ b/my-ability/build.gradle @@ -0,0 +1,12 @@ +plugins { + id 'java' + id 'java-library' + id 'checkstyle' + id 'configure-jandex' +} + + +dependencies { + api enforcedPlatform(libs.quarkus.platform.bom) + api project(':my-core') +} diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ICURDAbility.java b/my-ability/src/main/java/net/ximatai/muyun/ability/ICURDAbility.java similarity index 70% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ICURDAbility.java rename to my-ability/src/main/java/net/ximatai/muyun/ability/ICURDAbility.java index 8ea9f7c..433d06c 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ICURDAbility.java +++ b/my-ability/src/main/java/net/ximatai/muyun/ability/ICURDAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.core.ability.curd; +package net.ximatai.muyun.ability; public interface ICURDAbility extends ICreateAbility, IUpdateAbility, IDeleteAbility, ISelectAbility { } diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ICreateAbility.java b/my-ability/src/main/java/net/ximatai/muyun/ability/ICreateAbility.java similarity index 65% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ICreateAbility.java rename to my-ability/src/main/java/net/ximatai/muyun/ability/ICreateAbility.java index ef32cf8..94e4893 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ICreateAbility.java +++ b/my-ability/src/main/java/net/ximatai/muyun/ability/ICreateAbility.java @@ -1,9 +1,7 @@ -package net.ximatai.muyun.core.ability.curd; +package net.ximatai.muyun.ability; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; -import net.ximatai.muyun.core.ability.IDatabaseAbility; -import net.ximatai.muyun.core.ability.IMetadataAbility; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/IDeleteAbility.java b/my-ability/src/main/java/net/ximatai/muyun/ability/IDeleteAbility.java similarity index 80% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/curd/IDeleteAbility.java rename to my-ability/src/main/java/net/ximatai/muyun/ability/IDeleteAbility.java index 1cc50fa..d93a63d 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/IDeleteAbility.java +++ b/my-ability/src/main/java/net/ximatai/muyun/ability/IDeleteAbility.java @@ -1,11 +1,9 @@ -package net.ximatai.muyun.core.ability.curd; +package net.ximatai.muyun.ability; import jakarta.transaction.Transactional; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; -import net.ximatai.muyun.core.ability.IDatabaseAbility; -import net.ximatai.muyun.core.ability.IMetadataAbility; import net.ximatai.muyun.database.exception.MyDatabaseException; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ISelectAbility.java b/my-ability/src/main/java/net/ximatai/muyun/ability/ISelectAbility.java similarity index 70% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ISelectAbility.java rename to my-ability/src/main/java/net/ximatai/muyun/ability/ISelectAbility.java index 0c9bcb4..b797c93 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/ISelectAbility.java +++ b/my-ability/src/main/java/net/ximatai/muyun/ability/ISelectAbility.java @@ -1,10 +1,8 @@ -package net.ximatai.muyun.core.ability.curd; +package net.ximatai.muyun.ability; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; -import net.ximatai.muyun.core.ability.IDatabaseAbility; -import net.ximatai.muyun.core.ability.IMetadataAbility; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/IUpdateAbility.java b/my-ability/src/main/java/net/ximatai/muyun/ability/IUpdateAbility.java similarity index 80% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/curd/IUpdateAbility.java rename to my-ability/src/main/java/net/ximatai/muyun/ability/IUpdateAbility.java index 8db3395..f531d8d 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/curd/IUpdateAbility.java +++ b/my-ability/src/main/java/net/ximatai/muyun/ability/IUpdateAbility.java @@ -1,11 +1,9 @@ -package net.ximatai.muyun.core.ability.curd; +package net.ximatai.muyun.ability; import jakarta.transaction.Transactional; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; -import net.ximatai.muyun.core.ability.IDatabaseAbility; -import net.ximatai.muyun.core.ability.IMetadataAbility; import net.ximatai.muyun.database.exception.MyDatabaseException; import java.util.Map; diff --git a/my-boot/src/main/resources/application.properties b/my-boot/src/main/resources/application.properties index 9770f88..7254bfa 100644 --- a/my-boot/src/main/resources/application.properties +++ b/my-boot/src/main/resources/application.properties @@ -8,5 +8,9 @@ quarkus.datasource.username=postgres quarkus.datasource.password=muyun2024 quarkus.datasource.jdbc.url= jdbc:postgresql://localhost:54324/muyun +quarkus.datasource.reactive.url = vertx-reactive:postgresql://localhost:54324/muyun + +quarkus.datasource.jdbc=false + quarkus.hibernate-orm.database.generation=drop-and-create quarkus.hibernate-orm.log.sql=true diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/IDatabaseAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java similarity index 76% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/IDatabaseAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java index 45f1b6a..e1df454 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/IDatabaseAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.core.ability; +package net.ximatai.muyun.ability; import net.ximatai.muyun.database.IDatabaseAccess; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java new file mode 100644 index 0000000..4da4324 --- /dev/null +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java @@ -0,0 +1,9 @@ +package net.ximatai.muyun.ability; + +import net.ximatai.muyun.database.IDatabaseAccessUni; + +public interface IDatabaseUniAbility { + + IDatabaseAccessUni getDatabase(); + +} diff --git a/my-core/src/main/java/net/ximatai/muyun/core/ability/IMetadataAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java similarity index 96% rename from my-core/src/main/java/net/ximatai/muyun/core/ability/IMetadataAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java index 29c3ae4..b5f709f 100644 --- a/my-core/src/main/java/net/ximatai/muyun/core/ability/IMetadataAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.core.ability; +package net.ximatai.muyun.ability; import java.util.Map; import java.util.StringJoiner; diff --git a/my-database-uni/build.gradle b/my-database-uni/build.gradle index 639aef1..fbc80ac 100644 --- a/my-database-uni/build.gradle +++ b/my-database-uni/build.gradle @@ -1,11 +1,15 @@ plugins { id 'java' + id 'java-library' id 'checkstyle' id 'configure-jandex' } dependencies { + api enforcedPlatform(libs.quarkus.platform.bom) implementation project(':my-database') -// implementation project(':my-core-uni') + + api "io.quarkus:quarkus-hibernate-reactive-panache" + api "io.quarkus:quarkus-reactive-pg-client" } diff --git a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java new file mode 100644 index 0000000..ea56659 --- /dev/null +++ b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java @@ -0,0 +1,70 @@ +package net.ximatai.muyun.database.uni; + +import io.smallrye.mutiny.Uni; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.persistence.NoResultException; +import jakarta.persistence.Tuple; +import net.ximatai.muyun.database.IDatabaseAccessUni; +import net.ximatai.muyun.database.tool.TupleTool; +import org.hibernate.reactive.mutiny.Mutiny; + +import java.util.List; +import java.util.Map; + +@ApplicationScoped +public class UniDataAccess implements IDatabaseAccessUni { + + @Inject + Mutiny.SessionFactory sessionFactory; + + @Override + public Uni insert(String sql, Map params) { + return this.row(sql, params).map(row -> row.get("id").toString()); + } + + @Override + public Uni> row(String sql, Map params) { + return sessionFactory.withSession(session -> { + + Mutiny.SelectionQuery query = session.createNativeQuery(sql, Tuple.class); + + if (params != null) { + params.forEach(query::setParameter); + } + + return query + .getSingleResult() + .map(TupleTool::toMap) + .onFailure(NoResultException.class) + .recoverWithItem(() -> null); + }); + } + + @Override + public Uni> row(String sql) { + return null; + } + + @Override + public Uni>> query(String sql, Map params) { + return null; + } + + @Override + public Uni>> query(String sql) { + return null; + } + + @Override + public Uni update(String sql, Map params) { + return null; + } + + @Override + public Uni delete(String sql, Map params) { + return null; + } + + +} diff --git a/my-database/build.gradle b/my-database/build.gradle index 8c5edaf..7a0cae3 100644 --- a/my-database/build.gradle +++ b/my-database/build.gradle @@ -12,5 +12,7 @@ dependencies { api 'io.quarkus:quarkus-arc' api "io.quarkus:quarkus-hibernate-orm" + + compileOnlyApi "io.quarkus:quarkus-hibernate-reactive-panache" } diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java index 9299df5..5873337 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java @@ -3,7 +3,7 @@ import java.util.List; import java.util.Map; -public interface IDatabaseAccess { +public interface IDatabaseAccess extends IDatabaseAccessBase { String insert(String sql, Map params); diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java new file mode 100644 index 0000000..9a63804 --- /dev/null +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java @@ -0,0 +1,21 @@ +package net.ximatai.muyun.database; + +import java.util.Map; + +public interface IDatabaseAccessBase { + + Object insert(String sql, Map params); + + Object row(String sql, Map params); + + Object row(String sql); + + Object query(String sql, Map params); + + Object query(String sql); + + Object update(String sql, Map params); + + Object delete(String sql, Map params); + +} diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java new file mode 100644 index 0000000..61155c5 --- /dev/null +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java @@ -0,0 +1,24 @@ +package net.ximatai.muyun.database; + +import io.smallrye.mutiny.Uni; + +import java.util.List; +import java.util.Map; + +public interface IDatabaseAccessUni { + + Uni insert(String sql, Map params); + + Uni> row(String sql, Map params); + + Uni> row(String sql); + + Uni>> query(String sql, Map params); + + Uni>> query(String sql); + + Uni update(String sql, Map params); + + Uni delete(String sql, Map params); + +} diff --git a/my-platform/build.gradle b/my-platform/build.gradle index 4fbfdb1..124da8d 100644 --- a/my-platform/build.gradle +++ b/my-platform/build.gradle @@ -7,6 +7,7 @@ plugins { dependencies { implementation project(':my-core') - implementation project(':my-database-standard') + implementation project(':my-ability-uni') + implementation project(':my-database-uni') // implementation project(':my-core-uni') } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index 3f7fabe..0a01790 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -2,23 +2,23 @@ import jakarta.inject.Inject; import jakarta.ws.rs.Path; -import net.ximatai.muyun.core.ability.curd.ICURDAbility; -import net.ximatai.muyun.database.IDatabaseAccess; -import net.ximatai.muyun.database.standard.DataAccess; +import net.ximatai.muyun.ability.uni.ICURDUniAbility; +import net.ximatai.muyun.database.IDatabaseAccessUni; @Path("/module") -public class ModuleController implements ICURDAbility { +public class ModuleController implements ICURDUniAbility { @Inject - DataAccess dataAccess; + IDatabaseAccessUni databaseAccess; - @Override - public IDatabaseAccess getDatabase() { - return dataAccess; - } @Override public String getMainTable() { return "app_module"; } + + @Override + public IDatabaseAccessUni getDatabase() { + return databaseAccess; + } } diff --git a/settings.gradle b/settings.gradle index 1b14694..bff0764 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,7 +8,8 @@ assert JavaVersion.current() >= JavaVersion.VERSION_21: "You must use at least Java 21 to build the project, you're currently using ${System.getProperty("java.version")}" include 'my-core' -//include 'my-core-uni' +include 'my-ability' +include 'my-ability-uni' include 'my-platform' include 'my-database' include 'my-database-standard' From 4a79635ad1f2d2b9dee801e756943aef2c85b7cf Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 1 Aug 2024 21:59:11 +0800 Subject: [PATCH 02/16] =?UTF-8?q?chore:=20=E4=BC=98=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=AE=BF=E9=97=AE=E5=B1=82=E7=9A=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=EF=BC=8C=E6=8A=B9=E5=B9=B3=E5=BC=82=E6=AD=A5?= =?UTF-8?q?/=E5=90=8C=E6=AD=A5API=E5=9C=A8=E4=B8=9A=E5=8A=A1=E5=B1=82?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E7=9A=84=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- my-ability-uni/build.gradle | 5 +++-- .../muyun/ability/IDatabaseAbility.java | 6 ++++- .../muyun/ability/IDatabaseUniAbility.java | 7 +++++- my-database-standard/build.gradle | 1 + .../muyun/database/standard/DataAccess.java | 4 ++-- my-database/build.gradle | 3 +-- .../muyun/database/IDatabaseAccess.java | 17 +++++++------- .../muyun/database/IDatabaseAccessBase.java | 21 ------------------ .../database/IDatabaseAccessStandard.java | 22 +++++++++++++++++++ .../muyun/database/IDatabaseAccessUni.java | 2 +- my-platform/build.gradle | 3 ++- .../platform/controller/ModuleController.java | 7 +++--- 12 files changed, 55 insertions(+), 43 deletions(-) delete mode 100644 my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java create mode 100644 my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java diff --git a/my-ability-uni/build.gradle b/my-ability-uni/build.gradle index c618c47..45f7799 100644 --- a/my-ability-uni/build.gradle +++ b/my-ability-uni/build.gradle @@ -9,7 +9,8 @@ plugins { dependencies { api enforcedPlatform(libs.quarkus.platform.bom) - api project(':my-ability') - api project(':my-database-uni') +// api project(':my-ability') + api project(':my-core') +// api project(':my-database-uni') } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java index e1df454..b013411 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java @@ -1,9 +1,13 @@ package net.ximatai.muyun.ability; import net.ximatai.muyun.database.IDatabaseAccess; +import net.ximatai.muyun.database.IDatabaseAccessStandard; public interface IDatabaseAbility { - IDatabaseAccess getDatabase(); + IDatabaseAccess getDatabaseAccess(); + default IDatabaseAccessStandard getDatabase() { + return (IDatabaseAccessStandard) getDatabaseAccess(); + } } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java index 4da4324..8ecfbd0 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java @@ -1,9 +1,14 @@ package net.ximatai.muyun.ability; +import net.ximatai.muyun.database.IDatabaseAccess; import net.ximatai.muyun.database.IDatabaseAccessUni; public interface IDatabaseUniAbility { - IDatabaseAccessUni getDatabase(); + IDatabaseAccess getDatabaseAccess(); + + default IDatabaseAccessUni getDatabase() { + return (IDatabaseAccessUni) getDatabaseAccess(); + } } diff --git a/my-database-standard/build.gradle b/my-database-standard/build.gradle index 91be835..0f680da 100644 --- a/my-database-standard/build.gradle +++ b/my-database-standard/build.gradle @@ -10,5 +10,6 @@ dependencies { api enforcedPlatform(libs.quarkus.platform.bom) implementation project(':my-database') + api "io.quarkus:quarkus-hibernate-orm" api "io.quarkus:quarkus-jdbc-postgresql" } diff --git a/my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java b/my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java index a302fea..ec220cf 100644 --- a/my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java +++ b/my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java @@ -6,7 +6,7 @@ import jakarta.persistence.Query; import jakarta.persistence.Tuple; import jakarta.transaction.Transactional; -import net.ximatai.muyun.database.IDatabaseAccess; +import net.ximatai.muyun.database.IDatabaseAccessStandard; import net.ximatai.muyun.database.exception.MyDatabaseException; import net.ximatai.muyun.database.tool.TupleTool; @@ -14,7 +14,7 @@ import java.util.Map; @ApplicationScoped -public class DataAccess implements IDatabaseAccess { +public class DataAccess implements IDatabaseAccessStandard { @Inject EntityManager entityManager; diff --git a/my-database/build.gradle b/my-database/build.gradle index 7a0cae3..56e4037 100644 --- a/my-database/build.gradle +++ b/my-database/build.gradle @@ -10,8 +10,7 @@ dependencies { // implementation project(':my-core') // implementation project(':my-core-uni') - api 'io.quarkus:quarkus-arc' - api "io.quarkus:quarkus-hibernate-orm" + compileOnlyApi "io.quarkus:quarkus-hibernate-reactive-panache" } diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java index 5873337..379ef40 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java @@ -1,22 +1,21 @@ package net.ximatai.muyun.database; -import java.util.List; import java.util.Map; -public interface IDatabaseAccess extends IDatabaseAccessBase { +public interface IDatabaseAccess { - String insert(String sql, Map params); + Object insert(String sql, Map params); - Map row(String sql, Map params); + Object row(String sql, Map params); - Map row(String sql); + Object row(String sql); - List> query(String sql, Map params); + Object query(String sql, Map params); - List> query(String sql); + Object query(String sql); - Integer update(String sql, Map params); + Object update(String sql, Map params); - Integer delete(String sql, Map params); + Object delete(String sql, Map params); } diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java deleted file mode 100644 index 9a63804..0000000 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessBase.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.ximatai.muyun.database; - -import java.util.Map; - -public interface IDatabaseAccessBase { - - Object insert(String sql, Map params); - - Object row(String sql, Map params); - - Object row(String sql); - - Object query(String sql, Map params); - - Object query(String sql); - - Object update(String sql, Map params); - - Object delete(String sql, Map params); - -} diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java new file mode 100644 index 0000000..44ef90d --- /dev/null +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java @@ -0,0 +1,22 @@ +package net.ximatai.muyun.database; + +import java.util.List; +import java.util.Map; + +public interface IDatabaseAccessStandard extends IDatabaseAccess { + + String insert(String sql, Map params); + + Map row(String sql, Map params); + + Map row(String sql); + + List> query(String sql, Map params); + + List> query(String sql); + + Integer update(String sql, Map params); + + Integer delete(String sql, Map params); + +} diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java index 61155c5..1f58a8a 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Map; -public interface IDatabaseAccessUni { +public interface IDatabaseAccessUni extends IDatabaseAccess { Uni insert(String sql, Map params); diff --git a/my-platform/build.gradle b/my-platform/build.gradle index 124da8d..df00921 100644 --- a/my-platform/build.gradle +++ b/my-platform/build.gradle @@ -7,7 +7,8 @@ plugins { dependencies { implementation project(':my-core') +// implementation project(':my-ability') +// implementation project(':my-database-standard') implementation project(':my-ability-uni') implementation project(':my-database-uni') -// implementation project(':my-core-uni') } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index 0a01790..c1c2bcb 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -3,13 +3,13 @@ import jakarta.inject.Inject; import jakarta.ws.rs.Path; import net.ximatai.muyun.ability.uni.ICURDUniAbility; -import net.ximatai.muyun.database.IDatabaseAccessUni; +import net.ximatai.muyun.database.IDatabaseAccess; @Path("/module") public class ModuleController implements ICURDUniAbility { @Inject - IDatabaseAccessUni databaseAccess; + IDatabaseAccess databaseAccess; @Override @@ -17,8 +17,9 @@ public String getMainTable() { return "app_module"; } + @Override - public IDatabaseAccessUni getDatabase() { + public IDatabaseAccess getDatabaseAccess() { return databaseAccess; } } From a89ba7f89d28b87dd940ed406f0750cd3cbb7b08 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 1 Aug 2024 22:07:38 +0800 Subject: [PATCH 03/16] chore: update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d49a8b5..3d66432 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .gradle build .idea +.DS_store From a73f74f083a397b1fefe2563ff7df1421842a2f2 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Fri, 2 Aug 2024 08:16:32 +0800 Subject: [PATCH 04/16] chore: rename UniDataAccess to DataAccessUni --- .../database/uni/{UniDataAccess.java => DataAccessUni.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename my-database-uni/src/main/java/net/ximatai/muyun/database/uni/{UniDataAccess.java => DataAccessUni.java} (96%) diff --git a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java similarity index 96% rename from my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java rename to my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java index ea56659..e4bc59a 100644 --- a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/UniDataAccess.java +++ b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java @@ -13,7 +13,7 @@ import java.util.Map; @ApplicationScoped -public class UniDataAccess implements IDatabaseAccessUni { +public class DataAccessUni implements IDatabaseAccessUni { @Inject Mutiny.SessionFactory sessionFactory; From 4c85b3d8fd3620b8210455cb07048d3ee14c973d Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Fri, 2 Aug 2024 11:31:56 +0800 Subject: [PATCH 05/16] =?UTF-8?q?chore:=20=E9=87=8D=E6=96=B0=E6=A2=B3?= =?UTF-8?q?=E7=90=86=E4=BA=86=E5=8C=85=E5=92=8C=E6=A8=A1=E5=9D=97=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- my-ability-uni/build.gradle | 16 ---------------- my-ability/build.gradle | 12 ------------ .../ximatai/muyun/ability/IDatabaseAbility.java | 13 ------------- .../muyun/ability/std/IDatabaseAbility.java | 13 +++++++++++++ .../ability/{ => std}/IDatabaseUniAbility.java | 2 +- .../ability/{ => std}/IMetadataAbility.java | 2 +- .../ability/std/curd/std}/ICURDAbility.java | 2 +- .../ability/std/curd/std}/ICreateAbility.java | 4 +++- .../ability/std/curd/std}/IDeleteAbility.java | 4 +++- .../ability/std/curd/std}/ISelectAbility.java | 4 +++- .../ability/std/curd/std}/IUpdateAbility.java | 4 +++- .../ability/std/curd}/uni/ICURDUniAbility.java | 2 +- .../ability/std/curd}/uni/ICreateAbilityUni.java | 6 +++--- .../build.gradle | 1 + .../muyun/database/std/DataAccessStd.java | 9 ++++----- my-database/build.gradle | 7 +------ ...cessStandard.java => IDatabaseAccessStd.java} | 2 +- my-platform/build.gradle | 5 +++-- .../platform/controller/ModuleController.java | 2 +- settings.gradle | 6 +++--- 20 files changed, 46 insertions(+), 70 deletions(-) delete mode 100644 my-ability-uni/build.gradle delete mode 100644 my-ability/build.gradle delete mode 100644 my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java create mode 100644 my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java rename my-core/src/main/java/net/ximatai/muyun/ability/{ => std}/IDatabaseUniAbility.java (88%) rename my-core/src/main/java/net/ximatai/muyun/ability/{ => std}/IMetadataAbility.java (96%) rename {my-ability/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std}/ICURDAbility.java (68%) rename {my-ability/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std}/ICreateAbility.java (65%) rename {my-ability/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std}/IDeleteAbility.java (79%) rename {my-ability/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std}/ISelectAbility.java (70%) rename {my-ability/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std}/IUpdateAbility.java (80%) rename {my-ability-uni/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd}/uni/ICURDUniAbility.java (57%) rename {my-ability-uni/src/main/java/net/ximatai/muyun/ability => my-core/src/main/java/net/ximatai/muyun/ability/std/curd}/uni/ICreateAbilityUni.java (67%) rename {my-database-standard => my-database-std}/build.gradle (89%) rename my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java => my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java (92%) rename my-database/src/main/java/net/ximatai/muyun/database/{IDatabaseAccessStandard.java => IDatabaseAccessStd.java} (88%) diff --git a/my-ability-uni/build.gradle b/my-ability-uni/build.gradle deleted file mode 100644 index 45f7799..0000000 --- a/my-ability-uni/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id 'java' - id 'java-library' - id 'checkstyle' - id 'configure-jandex' -} - - -dependencies { - api enforcedPlatform(libs.quarkus.platform.bom) - -// api project(':my-ability') - api project(':my-core') -// api project(':my-database-uni') - -} diff --git a/my-ability/build.gradle b/my-ability/build.gradle deleted file mode 100644 index ecf6706..0000000 --- a/my-ability/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -plugins { - id 'java' - id 'java-library' - id 'checkstyle' - id 'configure-jandex' -} - - -dependencies { - api enforcedPlatform(libs.quarkus.platform.bom) - api project(':my-core') -} diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java deleted file mode 100644 index b013411..0000000 --- a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.ximatai.muyun.ability; - -import net.ximatai.muyun.database.IDatabaseAccess; -import net.ximatai.muyun.database.IDatabaseAccessStandard; - -public interface IDatabaseAbility { - - IDatabaseAccess getDatabaseAccess(); - - default IDatabaseAccessStandard getDatabase() { - return (IDatabaseAccessStandard) getDatabaseAccess(); - } -} diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java new file mode 100644 index 0000000..202f157 --- /dev/null +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java @@ -0,0 +1,13 @@ +package net.ximatai.muyun.ability.std; + +import net.ximatai.muyun.database.IDatabaseAccess; +import net.ximatai.muyun.database.IDatabaseAccessStd; + +public interface IDatabaseAbility { + + IDatabaseAccess getDatabaseAccess(); + + default IDatabaseAccessStd getDatabase() { + return (IDatabaseAccessStd) getDatabaseAccess(); + } +} diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseUniAbility.java similarity index 88% rename from my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseUniAbility.java index 8ecfbd0..ff57ddc 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseUniAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std; import net.ximatai.muyun.database.IDatabaseAccess; import net.ximatai.muyun.database.IDatabaseAccessUni; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/IMetadataAbility.java similarity index 96% rename from my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/IMetadataAbility.java index b5f709f..71e49f0 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/IMetadataAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std; import java.util.Map; import java.util.StringJoiner; diff --git a/my-ability/src/main/java/net/ximatai/muyun/ability/ICURDAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICURDAbility.java similarity index 68% rename from my-ability/src/main/java/net/ximatai/muyun/ability/ICURDAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICURDAbility.java index 433d06c..131d405 100644 --- a/my-ability/src/main/java/net/ximatai/muyun/ability/ICURDAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICURDAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std.curd.std; public interface ICURDAbility extends ICreateAbility, IUpdateAbility, IDeleteAbility, ISelectAbility { } diff --git a/my-ability/src/main/java/net/ximatai/muyun/ability/ICreateAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICreateAbility.java similarity index 65% rename from my-ability/src/main/java/net/ximatai/muyun/ability/ICreateAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICreateAbility.java index 94e4893..51ed1c5 100644 --- a/my-ability/src/main/java/net/ximatai/muyun/ability/ICreateAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICreateAbility.java @@ -1,7 +1,9 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std.curd.std; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; +import net.ximatai.muyun.ability.std.IDatabaseAbility; +import net.ximatai.muyun.ability.std.IMetadataAbility; import java.util.Map; diff --git a/my-ability/src/main/java/net/ximatai/muyun/ability/IDeleteAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IDeleteAbility.java similarity index 79% rename from my-ability/src/main/java/net/ximatai/muyun/ability/IDeleteAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IDeleteAbility.java index d93a63d..1dbda70 100644 --- a/my-ability/src/main/java/net/ximatai/muyun/ability/IDeleteAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IDeleteAbility.java @@ -1,9 +1,11 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std.curd.std; import jakarta.transaction.Transactional; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; +import net.ximatai.muyun.ability.std.IDatabaseAbility; +import net.ximatai.muyun.ability.std.IMetadataAbility; import net.ximatai.muyun.database.exception.MyDatabaseException; import java.util.Map; diff --git a/my-ability/src/main/java/net/ximatai/muyun/ability/ISelectAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ISelectAbility.java similarity index 70% rename from my-ability/src/main/java/net/ximatai/muyun/ability/ISelectAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ISelectAbility.java index b797c93..ee04a0a 100644 --- a/my-ability/src/main/java/net/ximatai/muyun/ability/ISelectAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ISelectAbility.java @@ -1,8 +1,10 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std.curd.std; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; +import net.ximatai.muyun.ability.std.IDatabaseAbility; +import net.ximatai.muyun.ability.std.IMetadataAbility; import java.util.Map; diff --git a/my-ability/src/main/java/net/ximatai/muyun/ability/IUpdateAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IUpdateAbility.java similarity index 80% rename from my-ability/src/main/java/net/ximatai/muyun/ability/IUpdateAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IUpdateAbility.java index f531d8d..d610fc0 100644 --- a/my-ability/src/main/java/net/ximatai/muyun/ability/IUpdateAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IUpdateAbility.java @@ -1,9 +1,11 @@ -package net.ximatai.muyun.ability; +package net.ximatai.muyun.ability.std.curd.std; import jakarta.transaction.Transactional; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; +import net.ximatai.muyun.ability.std.IDatabaseAbility; +import net.ximatai.muyun.ability.std.IMetadataAbility; import net.ximatai.muyun.database.exception.MyDatabaseException; import java.util.Map; diff --git a/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICURDUniAbility.java similarity index 57% rename from my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICURDUniAbility.java index f219215..0f3afb5 100644 --- a/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICURDUniAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICURDUniAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability.uni; +package net.ximatai.muyun.ability.std.curd.uni; public interface ICURDUniAbility extends ICreateAbilityUni { } diff --git a/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICreateAbilityUni.java similarity index 67% rename from my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java rename to my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICreateAbilityUni.java index e5442b0..5bfd051 100644 --- a/my-ability-uni/src/main/java/net/ximatai/muyun/ability/uni/ICreateAbilityUni.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICreateAbilityUni.java @@ -1,10 +1,10 @@ -package net.ximatai.muyun.ability.uni; +package net.ximatai.muyun.ability.std.curd.uni; import io.smallrye.mutiny.Uni; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.IDatabaseUniAbility; -import net.ximatai.muyun.ability.IMetadataAbility; +import net.ximatai.muyun.ability.std.IDatabaseUniAbility; +import net.ximatai.muyun.ability.std.IMetadataAbility; import java.util.Map; diff --git a/my-database-standard/build.gradle b/my-database-std/build.gradle similarity index 89% rename from my-database-standard/build.gradle rename to my-database-std/build.gradle index 0f680da..74b9090 100644 --- a/my-database-standard/build.gradle +++ b/my-database-std/build.gradle @@ -10,6 +10,7 @@ dependencies { api enforcedPlatform(libs.quarkus.platform.bom) implementation project(':my-database') + api "io.quarkus:quarkus-agroal" api "io.quarkus:quarkus-hibernate-orm" api "io.quarkus:quarkus-jdbc-postgresql" } diff --git a/my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java similarity index 92% rename from my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java rename to my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java index ec220cf..97f0840 100644 --- a/my-database-standard/src/main/java/net/ximatai/muyun/database/standard/DataAccess.java +++ b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.database.standard; +package net.ximatai.muyun.database.std; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; @@ -6,7 +6,7 @@ import jakarta.persistence.Query; import jakarta.persistence.Tuple; import jakarta.transaction.Transactional; -import net.ximatai.muyun.database.IDatabaseAccessStandard; +import net.ximatai.muyun.database.IDatabaseAccessStd; import net.ximatai.muyun.database.exception.MyDatabaseException; import net.ximatai.muyun.database.tool.TupleTool; @@ -14,12 +14,11 @@ import java.util.Map; @ApplicationScoped -public class DataAccess implements IDatabaseAccessStandard { +public class DataAccessStd implements IDatabaseAccessStd { @Inject EntityManager entityManager; - - + //TODO 要审查params的内容类型,比如字符串的日期要做转化,才能入库 @Override public String insert(String sql, Map params) { diff --git a/my-database/build.gradle b/my-database/build.gradle index 56e4037..51b0a6f 100644 --- a/my-database/build.gradle +++ b/my-database/build.gradle @@ -6,12 +6,7 @@ plugins { dependencies { - api enforcedPlatform(libs.quarkus.platform.bom) -// implementation project(':my-core') -// implementation project(':my-core-uni') - - - + compileOnlyApi enforcedPlatform(libs.quarkus.platform.bom) compileOnlyApi "io.quarkus:quarkus-hibernate-reactive-panache" } diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java similarity index 88% rename from my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java rename to my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java index 44ef90d..36dad91 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStandard.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java @@ -3,7 +3,7 @@ import java.util.List; import java.util.Map; -public interface IDatabaseAccessStandard extends IDatabaseAccess { +public interface IDatabaseAccessStd extends IDatabaseAccess { String insert(String sql, Map params); diff --git a/my-platform/build.gradle b/my-platform/build.gradle index df00921..0ce7ca1 100644 --- a/my-platform/build.gradle +++ b/my-platform/build.gradle @@ -8,7 +8,8 @@ plugins { dependencies { implementation project(':my-core') // implementation project(':my-ability') -// implementation project(':my-database-standard') - implementation project(':my-ability-uni') +// implementation project(':my-database-std') +// implementation project(':my-ability') +// implementation project(':my-database-std') implementation project(':my-database-uni') } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index c1c2bcb..a767989 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -2,7 +2,7 @@ import jakarta.inject.Inject; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.uni.ICURDUniAbility; +import net.ximatai.muyun.ability.std.curd.uni.ICURDUniAbility; import net.ximatai.muyun.database.IDatabaseAccess; @Path("/module") diff --git a/settings.gradle b/settings.gradle index bff0764..51c0223 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,11 +8,11 @@ assert JavaVersion.current() >= JavaVersion.VERSION_21: "You must use at least Java 21 to build the project, you're currently using ${System.getProperty("java.version")}" include 'my-core' -include 'my-ability' -include 'my-ability-uni' +//include 'my-ability' +//include 'my-ability-uni' include 'my-platform' include 'my-database' -include 'my-database-standard' +include 'my-database-std' include 'my-database-uni' //include 'my-msg' include 'my-boot' From 4ef509a4150fbb39cd623a801b05c5020f3e1cda Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Fri, 2 Aug 2024 13:33:53 +0800 Subject: [PATCH 06/16] =?UTF-8?q?chore:=20=E9=87=8D=E6=96=B0=E6=A2=B3?= =?UTF-8?q?=E7=90=86=E4=BA=86=E5=8C=85=E5=92=8C=E6=A8=A1=E5=9D=97=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E5=92=8C=E4=BE=9D=E8=B5=96=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ximatai/muyun/ability/{std => }/IDatabaseAbility.java | 2 +- .../muyun/ability/{std => }/IDatabaseUniAbility.java | 2 +- .../ximatai/muyun/ability/{std => }/IMetadataAbility.java | 2 +- .../muyun/ability/{std => }/curd/std/ICURDAbility.java | 2 +- .../muyun/ability/{std => }/curd/std/ICreateAbility.java | 6 +++--- .../muyun/ability/{std => }/curd/std/IDeleteAbility.java | 6 +++--- .../muyun/ability/{std => }/curd/std/ISelectAbility.java | 6 +++--- .../muyun/ability/{std => }/curd/std/IUpdateAbility.java | 6 +++--- .../muyun/ability/{std => }/curd/uni/ICURDUniAbility.java | 2 +- .../muyun/ability/{std => }/curd/uni/ICreateAbilityUni.java | 6 +++--- my-database-std/build.gradle | 1 - my-platform/build.gradle | 3 --- .../ximatai/muyun/platform/controller/ModuleController.java | 2 +- 13 files changed, 21 insertions(+), 25 deletions(-) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/IDatabaseAbility.java (88%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/IDatabaseUniAbility.java (88%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/IMetadataAbility.java (96%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/std/ICURDAbility.java (68%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/std/ICreateAbility.java (65%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/std/IDeleteAbility.java (79%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/std/ISelectAbility.java (70%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/std/IUpdateAbility.java (80%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/uni/ICURDUniAbility.java (57%) rename my-core/src/main/java/net/ximatai/muyun/ability/{std => }/curd/uni/ICreateAbilityUni.java (67%) diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java similarity index 88% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java index 202f157..e2361d9 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability.std; +package net.ximatai.muyun.ability; import net.ximatai.muyun.database.IDatabaseAccess; import net.ximatai.muyun.database.IDatabaseAccessStd; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseUniAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java similarity index 88% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseUniAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java index ff57ddc..8ecfbd0 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/IDatabaseUniAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IDatabaseUniAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability.std; +package net.ximatai.muyun.ability; import net.ximatai.muyun.database.IDatabaseAccess; import net.ximatai.muyun.database.IDatabaseAccessUni; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/IMetadataAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java similarity index 96% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/IMetadataAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java index 71e49f0..b5f709f 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/IMetadataAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/IMetadataAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability.std; +package net.ximatai.muyun.ability; import java.util.Map; import java.util.StringJoiner; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICURDAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICURDAbility.java similarity index 68% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICURDAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICURDAbility.java index 131d405..c435465 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICURDAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICURDAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability.std.curd.std; +package net.ximatai.muyun.ability.curd.std; public interface ICURDAbility extends ICreateAbility, IUpdateAbility, IDeleteAbility, ISelectAbility { } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICreateAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java similarity index 65% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICreateAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java index 51ed1c5..472f89d 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ICreateAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java @@ -1,9 +1,9 @@ -package net.ximatai.muyun.ability.std.curd.std; +package net.ximatai.muyun.ability.curd.std; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.std.IDatabaseAbility; -import net.ximatai.muyun.ability.std.IMetadataAbility; +import net.ximatai.muyun.ability.IDatabaseAbility; +import net.ximatai.muyun.ability.IMetadataAbility; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IDeleteAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/IDeleteAbility.java similarity index 79% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IDeleteAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/std/IDeleteAbility.java index 1dbda70..80f7f10 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IDeleteAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/IDeleteAbility.java @@ -1,11 +1,11 @@ -package net.ximatai.muyun.ability.std.curd.std; +package net.ximatai.muyun.ability.curd.std; import jakarta.transaction.Transactional; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; -import net.ximatai.muyun.ability.std.IDatabaseAbility; -import net.ximatai.muyun.ability.std.IMetadataAbility; +import net.ximatai.muyun.ability.IDatabaseAbility; +import net.ximatai.muyun.ability.IMetadataAbility; import net.ximatai.muyun.database.exception.MyDatabaseException; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ISelectAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ISelectAbility.java similarity index 70% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ISelectAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ISelectAbility.java index ee04a0a..380ce66 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/ISelectAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ISelectAbility.java @@ -1,10 +1,10 @@ -package net.ximatai.muyun.ability.std.curd.std; +package net.ximatai.muyun.ability.curd.std; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; -import net.ximatai.muyun.ability.std.IDatabaseAbility; -import net.ximatai.muyun.ability.std.IMetadataAbility; +import net.ximatai.muyun.ability.IDatabaseAbility; +import net.ximatai.muyun.ability.IMetadataAbility; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IUpdateAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/IUpdateAbility.java similarity index 80% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IUpdateAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/std/IUpdateAbility.java index d610fc0..8d274a1 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/std/IUpdateAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/IUpdateAbility.java @@ -1,11 +1,11 @@ -package net.ximatai.muyun.ability.std.curd.std; +package net.ximatai.muyun.ability.curd.std; import jakarta.transaction.Transactional; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; -import net.ximatai.muyun.ability.std.IDatabaseAbility; -import net.ximatai.muyun.ability.std.IMetadataAbility; +import net.ximatai.muyun.ability.IDatabaseAbility; +import net.ximatai.muyun.ability.IMetadataAbility; import net.ximatai.muyun.database.exception.MyDatabaseException; import java.util.Map; diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICURDUniAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICURDUniAbility.java similarity index 57% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICURDUniAbility.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICURDUniAbility.java index 0f3afb5..f5faa8f 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICURDUniAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICURDUniAbility.java @@ -1,4 +1,4 @@ -package net.ximatai.muyun.ability.std.curd.uni; +package net.ximatai.muyun.ability.curd.uni; public interface ICURDUniAbility extends ICreateAbilityUni { } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICreateAbilityUni.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java similarity index 67% rename from my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICreateAbilityUni.java rename to my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java index 5bfd051..6bef683 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/std/curd/uni/ICreateAbilityUni.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java @@ -1,10 +1,10 @@ -package net.ximatai.muyun.ability.std.curd.uni; +package net.ximatai.muyun.ability.curd.uni; import io.smallrye.mutiny.Uni; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.std.IDatabaseUniAbility; -import net.ximatai.muyun.ability.std.IMetadataAbility; +import net.ximatai.muyun.ability.IDatabaseUniAbility; +import net.ximatai.muyun.ability.IMetadataAbility; import java.util.Map; diff --git a/my-database-std/build.gradle b/my-database-std/build.gradle index 74b9090..0f680da 100644 --- a/my-database-std/build.gradle +++ b/my-database-std/build.gradle @@ -10,7 +10,6 @@ dependencies { api enforcedPlatform(libs.quarkus.platform.bom) implementation project(':my-database') - api "io.quarkus:quarkus-agroal" api "io.quarkus:quarkus-hibernate-orm" api "io.quarkus:quarkus-jdbc-postgresql" } diff --git a/my-platform/build.gradle b/my-platform/build.gradle index 0ce7ca1..26559ae 100644 --- a/my-platform/build.gradle +++ b/my-platform/build.gradle @@ -7,9 +7,6 @@ plugins { dependencies { implementation project(':my-core') -// implementation project(':my-ability') -// implementation project(':my-database-std') -// implementation project(':my-ability') // implementation project(':my-database-std') implementation project(':my-database-uni') } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index a767989..d696357 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -2,7 +2,7 @@ import jakarta.inject.Inject; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.std.curd.uni.ICURDUniAbility; +import net.ximatai.muyun.ability.curd.uni.ICURDUniAbility; import net.ximatai.muyun.database.IDatabaseAccess; @Path("/module") From 00508668f1c62caff8ead7c29e4c7e723167bafa Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Fri, 2 Aug 2024 14:33:13 +0800 Subject: [PATCH 07/16] =?UTF-8?q?chore:=20=E6=96=B0=E5=A2=9E=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E4=B8=BB=E9=94=AE=E5=90=8D=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E5=85=83=E6=95=B0=E6=8D=AE=E9=85=8D=E7=BD=AE=E8=80=8C=E4=B8=8D?= =?UTF-8?q?=E5=86=99=E6=AD=BB=E7=9A=84"id"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- my-boot/build.gradle | 3 +++ .../ximatai/muyun/ability/curd/std/ICreateAbility.java | 2 +- .../ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java | 3 ++- .../net/ximatai/muyun/database/std/DataAccessStd.java | 8 +++++--- .../net/ximatai/muyun/database/uni/DataAccessUni.java | 4 ++-- .../java/net/ximatai/muyun/database/IDatabaseAccess.java | 2 +- .../net/ximatai/muyun/database/IDatabaseAccessStd.java | 2 +- .../net/ximatai/muyun/database/IDatabaseAccessUni.java | 2 +- my-platform/build.gradle | 8 +++++--- .../muyun/platform/controller/ModuleController.java | 4 ++-- 10 files changed, 23 insertions(+), 15 deletions(-) diff --git a/my-boot/build.gradle b/my-boot/build.gradle index 406d617..43e24b2 100644 --- a/my-boot/build.gradle +++ b/my-boot/build.gradle @@ -15,5 +15,8 @@ dependencies { testImplementation 'io.quarkus:quarkus-junit5' testImplementation 'io.rest-assured:rest-assured' + + testImplementation "io.quarkus:quarkus-agroal" + testImplementation "io.quarkus:quarkus-jdbc-postgresql" testImplementation libs.testcontainers.postgresql } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java index 472f89d..901d7ea 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java @@ -12,7 +12,7 @@ public interface ICreateAbility extends IDatabaseAbility, IMetadataAbility { @POST @Path("/create") default String create(Map body) { - return getDatabase().insert(getInsertSql(body), body); + return getDatabase().insert(getInsertSql(body), body, getPK()); } } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java index 6bef683..c538a06 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java @@ -10,10 +10,11 @@ public interface ICreateAbilityUni extends IDatabaseUniAbility, IMetadataAbility { + //TODO 与ICreateAbility 函数内容过于雷同,考虑合并 @POST @Path("/create") default Uni create(Map body) { - return getDatabase().insert(getInsertSql(body), body); + return getDatabase().insert(getInsertSql(body), body, getPK()); } } diff --git a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java index 97f0840..7f4f378 100644 --- a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java +++ b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java @@ -3,6 +3,7 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceUnit; import jakarta.persistence.Query; import jakarta.persistence.Tuple; import jakarta.transaction.Transactional; @@ -17,12 +18,13 @@ public class DataAccessStd implements IDatabaseAccessStd { @Inject + @PersistenceUnit(name = "standard") EntityManager entityManager; - + //TODO 要审查params的内容类型,比如字符串的日期要做转化,才能入库 @Override - public String insert(String sql, Map params) { - return row(sql, params).get("id").toString(); + public String insert(String sql, Map params, String pk) { + return row(sql, params).get(pk).toString(); } @Override diff --git a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java index e4bc59a..57b8dd4 100644 --- a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java +++ b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java @@ -19,8 +19,8 @@ public class DataAccessUni implements IDatabaseAccessUni { Mutiny.SessionFactory sessionFactory; @Override - public Uni insert(String sql, Map params) { - return this.row(sql, params).map(row -> row.get("id").toString()); + public Uni insert(String sql, Map params, String pk) { + return this.row(sql, params).map(row -> row.get(pk).toString()); } @Override diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java index 379ef40..837f733 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java @@ -4,7 +4,7 @@ public interface IDatabaseAccess { - Object insert(String sql, Map params); + Object insert(String sql, Map params, String pk); Object row(String sql, Map params); diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java index 36dad91..7d0de3a 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java @@ -5,7 +5,7 @@ public interface IDatabaseAccessStd extends IDatabaseAccess { - String insert(String sql, Map params); + String insert(String sql, Map params, String pk); Map row(String sql, Map params); diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java index 1f58a8a..07f2522 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java @@ -7,7 +7,7 @@ public interface IDatabaseAccessUni extends IDatabaseAccess { - Uni insert(String sql, Map params); + Uni insert(String sql, Map params, String pk); Uni> row(String sql, Map params); diff --git a/my-platform/build.gradle b/my-platform/build.gradle index 26559ae..78894f3 100644 --- a/my-platform/build.gradle +++ b/my-platform/build.gradle @@ -1,12 +1,14 @@ plugins { id 'java' + id 'java-library' id 'checkstyle' id 'configure-jandex' } dependencies { - implementation project(':my-core') -// implementation project(':my-database-std') - implementation project(':my-database-uni') + api project(':my-core') + //TODO 测试同时依赖的情况 +// api project(':my-database-std') + api project(':my-database-uni') } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index d696357..41ff4ad 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -2,11 +2,11 @@ import jakarta.inject.Inject; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.curd.uni.ICURDUniAbility; +import net.ximatai.muyun.ability.curd.uni.ICreateAbilityUni; import net.ximatai.muyun.database.IDatabaseAccess; @Path("/module") -public class ModuleController implements ICURDUniAbility { +public class ModuleController implements ICreateAbilityUni { @Inject IDatabaseAccess databaseAccess; From 6b30fe4312935b08ae1f1e894d565a9922bb9221 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 8 Aug 2024 22:23:15 +0800 Subject: [PATCH 08/16] =?UTF-8?q?chore:=20=E6=81=A2=E5=A4=8D=E5=88=B0std?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95=E7=9A=84=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- my-boot/src/main/resources/application.properties | 2 +- .../java/net/ximatai/muyun/database/std/DataAccessStd.java | 2 -- my-platform/build.gradle | 4 ++-- .../ximatai/muyun/platform/controller/ModuleController.java | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/my-boot/src/main/resources/application.properties b/my-boot/src/main/resources/application.properties index 7254bfa..4e3f624 100644 --- a/my-boot/src/main/resources/application.properties +++ b/my-boot/src/main/resources/application.properties @@ -10,7 +10,7 @@ quarkus.datasource.jdbc.url= jdbc:postgresql://localhost:54324/muyun quarkus.datasource.reactive.url = vertx-reactive:postgresql://localhost:54324/muyun -quarkus.datasource.jdbc=false +quarkus.datasource.jdbc=true quarkus.hibernate-orm.database.generation=drop-and-create quarkus.hibernate-orm.log.sql=true diff --git a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java index 7f4f378..f18d9ba 100644 --- a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java +++ b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java @@ -3,7 +3,6 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.persistence.EntityManager; -import jakarta.persistence.PersistenceUnit; import jakarta.persistence.Query; import jakarta.persistence.Tuple; import jakarta.transaction.Transactional; @@ -18,7 +17,6 @@ public class DataAccessStd implements IDatabaseAccessStd { @Inject - @PersistenceUnit(name = "standard") EntityManager entityManager; //TODO 要审查params的内容类型,比如字符串的日期要做转化,才能入库 diff --git a/my-platform/build.gradle b/my-platform/build.gradle index 78894f3..e578aca 100644 --- a/my-platform/build.gradle +++ b/my-platform/build.gradle @@ -9,6 +9,6 @@ plugins { dependencies { api project(':my-core') //TODO 测试同时依赖的情况 -// api project(':my-database-std') - api project(':my-database-uni') + api project(':my-database-std') +// api project(':my-database-uni') } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index 41ff4ad..5f59ca0 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -2,11 +2,11 @@ import jakarta.inject.Inject; import jakarta.ws.rs.Path; -import net.ximatai.muyun.ability.curd.uni.ICreateAbilityUni; +import net.ximatai.muyun.ability.curd.std.ICURDAbility; import net.ximatai.muyun.database.IDatabaseAccess; @Path("/module") -public class ModuleController implements ICreateAbilityUni { +public class ModuleController implements ICURDAbility { @Inject IDatabaseAccess databaseAccess; From 1ee3c941ce7053801fc5574fe5a56698b44d7905 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 8 Aug 2024 22:26:57 +0800 Subject: [PATCH 09/16] =?UTF-8?q?style:=20=E9=80=9A=E8=BF=87checkstyle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/net/ximatai/muyun/database/uni/DataAccessUni.java | 1 - .../net/ximatai/muyun/platform/controller/ModuleController.java | 2 -- 2 files changed, 3 deletions(-) diff --git a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java index 57b8dd4..d4b8f55 100644 --- a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java +++ b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java @@ -66,5 +66,4 @@ public Uni delete(String sql, Map params) { return null; } - } diff --git a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java index 5f59ca0..fb8cb8a 100644 --- a/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java +++ b/my-platform/src/main/java/net/ximatai/muyun/platform/controller/ModuleController.java @@ -11,13 +11,11 @@ public class ModuleController implements ICURDAbility { @Inject IDatabaseAccess databaseAccess; - @Override public String getMainTable() { return "app_module"; } - @Override public IDatabaseAccess getDatabaseAccess() { return databaseAccess; From 8626d179c9694071471d9fad9fb652eab397d571 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 12:00:09 +0800 Subject: [PATCH 10/16] =?UTF-8?q?feat-=E6=95=B0=E6=8D=AE=E8=AE=BF=E9=97=AE?= =?UTF-8?q?-=E7=A7=BB=E9=99=A4EntityManager=E7=9A=84=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=EF=BC=8C=E6=94=B9=E7=94=A8Jdbi=E5=AE=9E=E7=8E=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- my-boot/build.gradle | 2 +- ...ollerTest.java => TestControllerTest.java} | 36 ++++++++--------- .../platform/controller/TestController.java | 23 +++++++++++ ...nateTest.java => HibernateEntityTest.java} | 4 +- .../muyun/platform/entity/TestEntity.java | 23 +++++++++++ my-database-std/build.gradle | 5 +++ .../muyun/database/std/DataAccessStd.java | 39 ++++++++----------- .../muyun/database/std/JdbiProducer.java | 21 ++++++++++ 8 files changed, 110 insertions(+), 43 deletions(-) rename my-boot/src/test/java/net/ximatai/muyun/platform/{ModuleControllerTest.java => TestControllerTest.java} (79%) create mode 100644 my-boot/src/test/java/net/ximatai/muyun/platform/controller/TestController.java rename my-boot/src/test/java/net/ximatai/muyun/platform/entity/{ModuleEntityHibernateTest.java => HibernateEntityTest.java} (92%) create mode 100644 my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java create mode 100644 my-database-std/src/main/java/net/ximatai/muyun/database/std/JdbiProducer.java diff --git a/my-boot/build.gradle b/my-boot/build.gradle index 43e24b2..20dfee8 100644 --- a/my-boot/build.gradle +++ b/my-boot/build.gradle @@ -8,7 +8,7 @@ plugins { dependencies { implementation enforcedPlatform(libs.quarkus.platform.bom) implementation project(":my-core") - implementation project(":my-platform") + implementation project(':my-database-std') // implementation project(":my-msg") implementation 'io.quarkus:quarkus-smallrye-openapi' diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/ModuleControllerTest.java b/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java similarity index 79% rename from my-boot/src/test/java/net/ximatai/muyun/platform/ModuleControllerTest.java rename to my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java index c7d4a70..8b7e7db 100644 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/ModuleControllerTest.java +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java @@ -6,7 +6,7 @@ import jakarta.inject.Inject; import jakarta.persistence.EntityManager; import jakarta.transaction.Transactional; -import net.ximatai.muyun.platform.entity.ModuleEntity; +import net.ximatai.muyun.platform.entity.TestEntity; import net.ximatai.muyun.testcontainers.PostgresTestResource; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -22,23 +22,23 @@ @QuarkusTest @QuarkusTestResource(value = PostgresTestResource.class, restrictToAnnotatedClass = true) -class ModuleControllerTest { +class TestControllerTest { @Inject EntityManager entityManager; - private static List data; + private static List data; @BeforeEach @Transactional void setUp() { - entityManager.createNativeQuery("TRUNCATE TABLE app_module").executeUpdate(); + entityManager.createNativeQuery("TRUNCATE TABLE test_table").executeUpdate(); - ModuleEntity e1 = new ModuleEntity(); + TestEntity e1 = new TestEntity(); e1.name = "test1"; - ModuleEntity e2 = new ModuleEntity(); + TestEntity e2 = new TestEntity(); e2.name = "test2"; - ModuleEntity e3 = new ModuleEntity(); + TestEntity e3 = new TestEntity(); e3.name = "test3"; data = List.of(e1, e2, e3); @@ -53,12 +53,12 @@ void testCreate() { .contentType("application/json") .body(request) .when() - .post("/module/create") + .post("/test/create") .then() .statusCode(200) .body(is(id)); - ModuleEntity e = entityManager.find(ModuleEntity.class, id); + TestEntity e = entityManager.find(TestEntity.class, id); assertEquals(request.get("id"), e.id); assertEquals(request.get("name"), e.name); @@ -72,12 +72,12 @@ void testUpdate() { .contentType("application/json") .body(request) .when() - .post("/module/update/" + id) + .post("/test/update/" + id) .then() .statusCode(200) .body(is("1")); - ModuleEntity e = entityManager.find(ModuleEntity.class, id); + TestEntity e = entityManager.find(TestEntity.class, id); assertEquals(request.get("name"), e.name); } @@ -90,7 +90,7 @@ void testUpdateNotFound() { .contentType("application/json") .body(request) .when() - .post("/module/update/" + id) + .post("/test/update/" + id) .then() .statusCode(404); } @@ -103,7 +103,7 @@ void testUpdateFieldNotExists() { .contentType("application/json") .body(request) .when() - .post("/module/update/" + id) + .post("/test/update/" + id) .then() .statusCode(500); } @@ -112,7 +112,7 @@ void testUpdateFieldNotExists() { void testGet() { String id = data.getFirst().id; HashMap response = given() - .get("/module/view/" + id) + .get("/test/view/" + id) .then() .statusCode(200) .extract() @@ -127,7 +127,7 @@ void testGet() { void testGetNotFound() { String id = "666"; given() - .get("/module/view/" + id) + .get("/test/view/" + id) .then() .statusCode(404); } @@ -136,11 +136,11 @@ void testGetNotFound() { void testDelete() { String id = data.getFirst().id; given() - .get("/module/delete/" + id) + .get("/test/delete/" + id) .then() .statusCode(200); - ModuleEntity e = entityManager.find(ModuleEntity.class, id); + TestEntity e = entityManager.find(TestEntity.class, id); assertNull(e); } @@ -148,7 +148,7 @@ void testDelete() { void testDeleteNotFound() { String id = "666"; given() - .get("/module/delete/" + id) + .get("/test/delete/" + id) .then() .statusCode(404); } diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/controller/TestController.java b/my-boot/src/test/java/net/ximatai/muyun/platform/controller/TestController.java new file mode 100644 index 0000000..4919cb2 --- /dev/null +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/controller/TestController.java @@ -0,0 +1,23 @@ +package net.ximatai.muyun.platform.controller; + +import jakarta.inject.Inject; +import jakarta.ws.rs.Path; +import net.ximatai.muyun.ability.curd.std.ICURDAbility; +import net.ximatai.muyun.database.IDatabaseAccess; + +@Path("/test") +public class TestController implements ICURDAbility { + + @Inject + IDatabaseAccess databaseAccess; + + @Override + public String getMainTable() { + return "test_table"; + } + + @Override + public IDatabaseAccess getDatabaseAccess() { + return databaseAccess; + } +} diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/ModuleEntityHibernateTest.java b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java similarity index 92% rename from my-boot/src/test/java/net/ximatai/muyun/platform/entity/ModuleEntityHibernateTest.java rename to my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java index 67abb9c..0c29351 100644 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/ModuleEntityHibernateTest.java +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java @@ -16,14 +16,14 @@ @QuarkusTest @QuarkusTestResource(value = PostgresTestResource.class, restrictToAnnotatedClass = true) @Transactional -class ModuleEntityHibernateTest { +class HibernateEntityTest { @Inject EntityManager entityManager; @Test void createEntityTest() { - ModuleEntity e = new ModuleEntity(); + TestEntity e = new TestEntity(); e.name = "test1"; entityManager.persist(e); diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java new file mode 100644 index 0000000..43b81e7 --- /dev/null +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java @@ -0,0 +1,23 @@ +package net.ximatai.muyun.platform.entity; + +import jakarta.persistence.*; +import org.hibernate.annotations.CreationTimestamp; + +import java.time.LocalDateTime; + +@Entity(name = "test_table") +public class TestEntity { + + @Id + @GeneratedValue(strategy = GenerationType.UUID) + @Column(name = "id", updatable = false, nullable = false, columnDefinition = "varchar") + public String id; + + @Column(columnDefinition = "varchar") + public String name; + + @CreationTimestamp + @Column(name = "t_create", updatable = false) + public LocalDateTime tCreate; + +} diff --git a/my-database-std/build.gradle b/my-database-std/build.gradle index 0f680da..e47b950 100644 --- a/my-database-std/build.gradle +++ b/my-database-std/build.gradle @@ -12,4 +12,9 @@ dependencies { api "io.quarkus:quarkus-hibernate-orm" api "io.quarkus:quarkus-jdbc-postgresql" + + api "org.jdbi:jdbi3-core:3.45.4" + // https://mvnrepository.com/artifact/org.jdbi/jdbi3-core +// implementation group: 'org.jdbi', name: 'jdbi3-core', version: '3.45.4' + } diff --git a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java index f18d9ba..1197460 100644 --- a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java +++ b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java @@ -2,13 +2,10 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; -import jakarta.persistence.EntityManager; -import jakarta.persistence.Query; -import jakarta.persistence.Tuple; import jakarta.transaction.Transactional; import net.ximatai.muyun.database.IDatabaseAccessStd; import net.ximatai.muyun.database.exception.MyDatabaseException; -import net.ximatai.muyun.database.tool.TupleTool; +import org.jdbi.v3.core.Jdbi; import java.util.List; import java.util.Map; @@ -17,7 +14,7 @@ public class DataAccessStd implements IDatabaseAccessStd { @Inject - EntityManager entityManager; + Jdbi jdbi; //TODO 要审查params的内容类型,比如字符串的日期要做转化,才能入库 @Override @@ -28,19 +25,17 @@ public String insert(String sql, Map params, String pk) { @Override public Map row(String sql, Map params) { try { - Query query = entityManager.createNativeQuery(sql, Tuple.class); - - if (params != null) { - params.forEach(query::setParameter); - } - - Tuple tuple = (Tuple) query.getSingleResult(); - - return TupleTool.toMap(tuple); + return jdbi.withHandle(handle -> { + var query = handle.createQuery(sql); + if (params != null) { + params.forEach(query::bind); + } + + return query.mapToMap().one(); + }); } catch (Exception e) { throw new MyDatabaseException(e.getMessage(), MyDatabaseException.Type.DATA_NOT_FOUND); } - } @Override @@ -61,13 +56,13 @@ public List> query(String sql) { @Override @Transactional public Integer update(String sql, Map params) { - Query query = entityManager.createNativeQuery(sql); - - if (params != null) { - params.forEach(query::setParameter); - } - - return query.executeUpdate(); + return jdbi.withHandle(handle -> { + var update = handle.createUpdate(sql); + if (params != null) { + params.forEach(update::bind); + } + return update.execute(); + }); } @Override diff --git a/my-database-std/src/main/java/net/ximatai/muyun/database/std/JdbiProducer.java b/my-database-std/src/main/java/net/ximatai/muyun/database/std/JdbiProducer.java new file mode 100644 index 0000000..13b7f50 --- /dev/null +++ b/my-database-std/src/main/java/net/ximatai/muyun/database/std/JdbiProducer.java @@ -0,0 +1,21 @@ +package net.ximatai.muyun.database.std; + +import io.agroal.api.AgroalDataSource; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.inject.Inject; +import org.jdbi.v3.core.Jdbi; + +@ApplicationScoped +public class JdbiProducer { + + @Inject + AgroalDataSource dataSource; + + @Produces + @ApplicationScoped + public Jdbi createJdbi() { + return Jdbi.create(dataSource); + } + +} From 7d2e9e6ea660c8d7defaeadda87bb894100ea0d1 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 12:38:50 +0800 Subject: [PATCH 11/16] =?UTF-8?q?style-STD=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B-=E8=B0=83=E6=95=B4TestEntity=E7=9A=84import=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/ximatai/muyun/platform/entity/TestEntity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java index 43b81e7..dc17d66 100644 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java @@ -1,6 +1,10 @@ package net.ximatai.muyun.platform.entity; -import jakarta.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; From 4fe42a125bbd51a9427e17c880c42a589fe079d1 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 15:26:41 +0800 Subject: [PATCH 12/16] =?UTF-8?q?chore-=E5=BC=82=E6=AD=A5UNI=E5=8C=85-?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E7=A7=BB=E9=99=A4=E5=BC=82=E6=AD=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index 51c0223..630eb35 100644 --- a/settings.gradle +++ b/settings.gradle @@ -13,7 +13,7 @@ include 'my-core' include 'my-platform' include 'my-database' include 'my-database-std' -include 'my-database-uni' +//include 'my-database-uni' //include 'my-msg' include 'my-boot' From 743ca80dfa9aa4c254b924b488ea327c47006fe4 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 15:27:32 +0800 Subject: [PATCH 13/16] =?UTF-8?q?feat-IDatabaseAccessStd-=E6=A2=B3?= =?UTF-8?q?=E7=90=86=E4=BA=86crate=E3=80=81insert=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/ximatai/muyun/ability/curd/std/ICreateAbility.java | 2 +- .../ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java | 2 +- .../java/net/ximatai/muyun/database/IDatabaseAccess.java | 5 ++++- .../java/net/ximatai/muyun/database/IDatabaseAccessStd.java | 2 +- .../java/net/ximatai/muyun/database/IDatabaseAccessUni.java | 4 +++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java index 901d7ea..9320c0b 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/std/ICreateAbility.java @@ -12,7 +12,7 @@ public interface ICreateAbility extends IDatabaseAbility, IMetadataAbility { @POST @Path("/create") default String create(Map body) { - return getDatabase().insert(getInsertSql(body), body, getPK()); + return getDatabase().create(getInsertSql(body), body, getPK()); } } diff --git a/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java index c538a06..3e6f581 100644 --- a/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java +++ b/my-core/src/main/java/net/ximatai/muyun/ability/curd/uni/ICreateAbilityUni.java @@ -14,7 +14,7 @@ public interface ICreateAbilityUni extends IDatabaseUniAbility, IMetadataAbility @POST @Path("/create") default Uni create(Map body) { - return getDatabase().insert(getInsertSql(body), body, getPK()); + return getDatabase().create(getInsertSql(body), body, getPK()); } } diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java index 837f733..feceac5 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccess.java @@ -4,7 +4,9 @@ public interface IDatabaseAccess { - Object insert(String sql, Map params, String pk); + Object insert(String sql, Map params); + + Object create(String sql, Map params, String pk); Object row(String sql, Map params); @@ -18,4 +20,5 @@ public interface IDatabaseAccess { Object delete(String sql, Map params); + Object execute(String sql); } diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java index 7d0de3a..6ce7a5f 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessStd.java @@ -5,7 +5,7 @@ public interface IDatabaseAccessStd extends IDatabaseAccess { - String insert(String sql, Map params, String pk); + String create(String sql, Map params, String pk); Map row(String sql, Map params); diff --git a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java index 07f2522..71e0d10 100644 --- a/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java +++ b/my-database/src/main/java/net/ximatai/muyun/database/IDatabaseAccessUni.java @@ -7,7 +7,7 @@ public interface IDatabaseAccessUni extends IDatabaseAccess { - Uni insert(String sql, Map params, String pk); + Uni create(String sql, Map params, String pk); Uni> row(String sql, Map params); @@ -21,4 +21,6 @@ public interface IDatabaseAccessUni extends IDatabaseAccess { Uni delete(String sql, Map params); + Uni execute(String sql); + } From 7e9ffdfe1f3e2d78627c77c34be08cf4a997f069 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 15:28:57 +0800 Subject: [PATCH 14/16] =?UTF-8?q?test-=E5=90=8C=E6=AD=A5CURD-=E5=89=94?= =?UTF-8?q?=E9=99=A4EntityManager=E7=9A=84=E4=BE=9D=E8=B5=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyun/platform/TestControllerTest.java | 82 ++++++++++++------- .../platform/entity/HibernateEntityTest.java | 38 --------- .../muyun/platform/entity/TestEntity.java | 27 ------ my-database-std/build.gradle | 6 +- .../muyun/database/std/DataAccessStd.java | 37 ++++++--- .../muyun/database/uni/DataAccessUni.java | 14 +++- 6 files changed, 93 insertions(+), 111 deletions(-) delete mode 100644 my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java delete mode 100644 my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java b/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java index 8b7e7db..46a9ba3 100644 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java @@ -4,9 +4,10 @@ import io.quarkus.test.junit.QuarkusTest; import io.restassured.common.mapper.TypeRef; import jakarta.inject.Inject; -import jakarta.persistence.EntityManager; import jakarta.transaction.Transactional; -import net.ximatai.muyun.platform.entity.TestEntity; +import net.ximatai.muyun.database.IDatabaseAccess; +import net.ximatai.muyun.database.exception.MyDatabaseException; +import net.ximatai.muyun.platform.controller.TestController; import net.ximatai.muyun.testcontainers.PostgresTestResource; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -17,32 +18,53 @@ import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.is; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.*; @QuarkusTest @QuarkusTestResource(value = PostgresTestResource.class, restrictToAnnotatedClass = true) class TestControllerTest { + + @Inject + IDatabaseAccess databaseAccess; + @Inject - EntityManager entityManager; + TestController testController; - private static List data; + String tableName; + + List ids; @BeforeEach @Transactional void setUp() { - entityManager.createNativeQuery("TRUNCATE TABLE test_table").executeUpdate(); + tableName = testController.getMainTable(); + + databaseAccess.execute("drop table if exists " + tableName); + + databaseAccess.execute(""" + create table public.%s + ( + id varchar default gen_random_uuid() not null + constraint test_table_pk + primary key, + name varchar, + t_create timestamp default now() + ) + """.formatted(tableName)); - TestEntity e1 = new TestEntity(); - e1.name = "test1"; - TestEntity e2 = new TestEntity(); - e2.name = "test2"; - TestEntity e3 = new TestEntity(); - e3.name = "test3"; + databaseAccess.execute("TRUNCATE TABLE %s".formatted(tableName)); + + var id1 = testController.create(Map.of("id", "1", "name", "test1")); + var id2 = testController.create(Map.of("id", "2", "name", "test2")); + var id3 = testController.create(Map.of("id", "3", "name", "test3")); + + ids = List.of(id1, id2, id3); + +// var id1 = databaseAccess.insert("insert into test_table (name) values (:name) ", Map.of("name", "test1")); +// var id2 = databaseAccess.insert("insert into test_table (name) values (:name) ", Map.of("name", "test2")); +// var id3 = databaseAccess.insert("insert into test_table (name) values (:name) ", Map.of("name", "test3")); - data = List.of(e1, e2, e3); - data.forEach(entityManager::persist); } @Test @@ -58,15 +80,15 @@ void testCreate() { .statusCode(200) .body(is(id)); - TestEntity e = entityManager.find(TestEntity.class, id); + Map e = (Map) databaseAccess.row("select * from %s where id = :id ".formatted(tableName), Map.of("id", id)); - assertEquals(request.get("id"), e.id); - assertEquals(request.get("name"), e.name); + assertEquals(request.get("id"), e.get("id")); + assertEquals(request.get("name"), e.get("name")); } @Test void testUpdate() { - String id = data.getFirst().id; + String id = ids.getFirst(); Map request = Map.of("name", "test"); given() .contentType("application/json") @@ -77,9 +99,9 @@ void testUpdate() { .statusCode(200) .body(is("1")); - TestEntity e = entityManager.find(TestEntity.class, id); + Map e = (Map) databaseAccess.row("select * from %s where id = :id ".formatted(tableName), Map.of("id", id)); - assertEquals(request.get("name"), e.name); + assertEquals(request.get("name"), e.get("name")); } @Test @@ -97,7 +119,7 @@ void testUpdateNotFound() { @Test void testUpdateFieldNotExists() { - String id = data.getFirst().id; + String id = ids.getFirst(); Map request = Map.of("unknown", "field"); given() .contentType("application/json") @@ -110,17 +132,20 @@ void testUpdateFieldNotExists() { @Test void testGet() { - String id = data.getFirst().id; + String id = ids.getFirst(); HashMap response = given() .get("/test/view/" + id) .then() .statusCode(200) .extract() .as(new TypeRef<>() { + }); - assertEquals(data.getFirst().name, response.get("name")); - assertEquals(data.getFirst().id, response.get("id")); + Map e = (Map) databaseAccess.row("select * from %s where id = :id ".formatted(tableName), Map.of("id", id)); + + assertEquals(e.get("name"), response.get("name")); + assertEquals(e.get("id"), response.get("id")); } @Test @@ -134,14 +159,15 @@ void testGetNotFound() { @Test void testDelete() { - String id = data.getFirst().id; + String id = ids.getFirst(); given() .get("/test/delete/" + id) .then() .statusCode(200); - TestEntity e = entityManager.find(TestEntity.class, id); - assertNull(e); + assertThrows(MyDatabaseException.class, () -> { + databaseAccess.row("select * from %s where id = :id ".formatted(tableName), Map.of("id", id)); + }); } @Test diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java deleted file mode 100644 index 0c29351..0000000 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/HibernateEntityTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.ximatai.muyun.platform.entity; - -import io.quarkus.test.common.QuarkusTestResource; -import io.quarkus.test.junit.QuarkusTest; -import jakarta.inject.Inject; -import jakarta.persistence.EntityManager; -import jakarta.transaction.Transactional; -import net.ximatai.muyun.testcontainers.PostgresTestResource; -import org.junit.jupiter.api.Test; - -import java.util.UUID; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; - -@QuarkusTest -@QuarkusTestResource(value = PostgresTestResource.class, restrictToAnnotatedClass = true) -@Transactional -class HibernateEntityTest { - - @Inject - EntityManager entityManager; - - @Test - void createEntityTest() { - TestEntity e = new TestEntity(); - e.name = "test1"; - - entityManager.persist(e); - - entityManager.flush(); - - assertNotNull(e.id); - assertEquals(e.id.length(), UUID.randomUUID().toString().length()); - assertNotNull(e.tCreate); - } - -} diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java b/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java deleted file mode 100644 index dc17d66..0000000 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/entity/TestEntity.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.ximatai.muyun.platform.entity; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import org.hibernate.annotations.CreationTimestamp; - -import java.time.LocalDateTime; - -@Entity(name = "test_table") -public class TestEntity { - - @Id - @GeneratedValue(strategy = GenerationType.UUID) - @Column(name = "id", updatable = false, nullable = false, columnDefinition = "varchar") - public String id; - - @Column(columnDefinition = "varchar") - public String name; - - @CreationTimestamp - @Column(name = "t_create", updatable = false) - public LocalDateTime tCreate; - -} diff --git a/my-database-std/build.gradle b/my-database-std/build.gradle index e47b950..b689473 100644 --- a/my-database-std/build.gradle +++ b/my-database-std/build.gradle @@ -10,11 +10,7 @@ dependencies { api enforcedPlatform(libs.quarkus.platform.bom) implementation project(':my-database') + api "org.jdbi:jdbi3-core:3.45.4" api "io.quarkus:quarkus-hibernate-orm" api "io.quarkus:quarkus-jdbc-postgresql" - - api "org.jdbi:jdbi3-core:3.45.4" - // https://mvnrepository.com/artifact/org.jdbi/jdbi3-core -// implementation group: 'org.jdbi', name: 'jdbi3-core', version: '3.45.4' - } diff --git a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java index 1197460..ea5c0c4 100644 --- a/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java +++ b/my-database-std/src/main/java/net/ximatai/muyun/database/std/DataAccessStd.java @@ -16,26 +16,33 @@ public class DataAccessStd implements IDatabaseAccessStd { @Inject Jdbi jdbi; + @Override + public Object insert(String sql, Map params) { + return update(sql, params); + } + //TODO 要审查params的内容类型,比如字符串的日期要做转化,才能入库 @Override - public String insert(String sql, Map params, String pk) { + public String create(String sql, Map params, String pk) { return row(sql, params).get(pk).toString(); } @Override public Map row(String sql, Map params) { - try { - return jdbi.withHandle(handle -> { - var query = handle.createQuery(sql); - if (params != null) { - params.forEach(query::bind); - } - - return query.mapToMap().one(); - }); - } catch (Exception e) { - throw new MyDatabaseException(e.getMessage(), MyDatabaseException.Type.DATA_NOT_FOUND); + var row = jdbi.withHandle(handle -> { + var query = handle.createQuery(sql); + if (params != null) { + params.forEach(query::bind); + } + + return query.mapToMap().findOne().orElse(null); + }); + + if (row == null) { + throw new MyDatabaseException(null, MyDatabaseException.Type.DATA_NOT_FOUND); } + + return row; } @Override @@ -69,4 +76,10 @@ public Integer update(String sql, Map params) { public Integer delete(String sql, Map params) { return update(sql, params); } + + @Override + public Object execute(String sql) { + jdbi.withHandle(handle -> handle.execute(sql)); + return null; + } } diff --git a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java index d4b8f55..e561382 100644 --- a/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java +++ b/my-database-uni/src/main/java/net/ximatai/muyun/database/uni/DataAccessUni.java @@ -19,7 +19,12 @@ public class DataAccessUni implements IDatabaseAccessUni { Mutiny.SessionFactory sessionFactory; @Override - public Uni insert(String sql, Map params, String pk) { + public Object insert(String sql, Map params) { + return null; + } + + @Override + public Uni create(String sql, Map params, String pk) { return this.row(sql, params).map(row -> row.get(pk).toString()); } @@ -66,4 +71,11 @@ public Uni delete(String sql, Map params) { return null; } + @Override + public Uni execute(String sql) { + return sessionFactory.withTransaction((session, tx) -> + session.createNativeQuery(sql).executeUpdate() + ).replaceWithVoid(); + } + } From 4f79d804882282425ae992fbdcb93fc9002370f4 Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 15:33:11 +0800 Subject: [PATCH 15/16] =?UTF-8?q?chore-jdbi=E5=8C=85=E4=BE=9D=E8=B5=96-?= =?UTF-8?q?=E9=87=87=E7=94=A8toml=E6=96=87=E4=BB=B6=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E5=A3=B0=E6=98=8E=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle/libs.versions.toml | 5 +++-- my-boot/build.gradle | 3 +++ my-database-std/build.gradle | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d4791ab..58c2012 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,12 +1,13 @@ [versions] testcontainers = "1.20.0" - quarkus = "3.12.3" +jdbi = "3.45.4" [libraries] testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "testcontainers" } - quarkus-platform-bom = { module = "io.quarkus.platform:quarkus-bom", version.ref = "quarkus" } +jdbi-core = { module = "org.jdbi:jdbi3-core", version.ref = "jdbi" } + [plugins] quarkus = { id = "io.quarkus", version.ref = "quarkus" } diff --git a/my-boot/build.gradle b/my-boot/build.gradle index 20dfee8..7fc265d 100644 --- a/my-boot/build.gradle +++ b/my-boot/build.gradle @@ -4,6 +4,9 @@ plugins { alias libs.plugins.quarkus } +tasks.named('compileJava').configure { + dependsOn 'compileQuarkusGeneratedSourcesJava' +} dependencies { implementation enforcedPlatform(libs.quarkus.platform.bom) diff --git a/my-database-std/build.gradle b/my-database-std/build.gradle index b689473..407f166 100644 --- a/my-database-std/build.gradle +++ b/my-database-std/build.gradle @@ -10,7 +10,7 @@ dependencies { api enforcedPlatform(libs.quarkus.platform.bom) implementation project(':my-database') - api "org.jdbi:jdbi3-core:3.45.4" + api libs.jdbi.core api "io.quarkus:quarkus-hibernate-orm" api "io.quarkus:quarkus-jdbc-postgresql" } From 3d599e380cf3de1e40a0afb9f79e9af9ba2f33da Mon Sep 17 00:00:00 2001 From: Liu Rui Date: Thu, 22 Aug 2024 15:34:39 +0800 Subject: [PATCH 16/16] style-TestControllerTest --- .../java/net/ximatai/muyun/platform/TestControllerTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java b/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java index 46a9ba3..bac2c83 100644 --- a/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java +++ b/my-boot/src/test/java/net/ximatai/muyun/platform/TestControllerTest.java @@ -18,13 +18,13 @@ import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.is; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; @QuarkusTest @QuarkusTestResource(value = PostgresTestResource.class, restrictToAnnotatedClass = true) class TestControllerTest { - @Inject IDatabaseAccess databaseAccess;