From 8da12654e2b41a1efc8c32395b13a2ecf0e2cc96 Mon Sep 17 00:00:00 2001 From: AiKrai Date: Thu, 20 Mar 2025 10:43:43 +0800 Subject: [PATCH] 1 --- vertx-demo/build.gradle.kts | 10 +- .../data/domain/account/AccountRepository.kt | 2 +- .../domain/account/AccountRepositoryImpl.kt | 2 +- .../app/data/domain/menu/MenuRepository.kt | 2 +- .../data/domain/menu/MenuRepositoryImpl.kt | 2 +- .../app/data/domain/role/RoleRepository.kt | 2 +- .../data/domain/role/RoleRepositoryImpl.kt | 2 +- .../src/main/kotlin/app/example/Order.kt | 26 --- .../app/example/SqlAnnotationExample.kt | 150 ------------------ .../kotlin/app/example/SqlMigrationExample.kt | 94 ----------- .../src/test/kotlin/app/GenerateMigration.kt | 28 ++-- .../test/resources/application-apifox.yaml | 4 - .../test/resources/application-database.yaml | 14 -- .../src/test/resources/application.yaml | 5 - .../aikrai/vertx/db/migration/DbMigration.kt | 4 + .../migration}/SqlAnnotationMapper.kt | 2 +- .../{gen => db/migration}/SqlGenerator.kt | 2 +- .../migration}/SqlMigrationGenerator.kt | 19 ++- .../vertx/db/{ => wrapper}/QueryWrapper.kt | 2 +- .../db/{ => wrapper}/QueryWrapperImpl.kt | 2 +- .../vertx/db/{ => wrapper}/Repository.kt | 2 +- .../vertx/db/{ => wrapper}/RepositoryImpl.kt | 2 +- 22 files changed, 43 insertions(+), 335 deletions(-) delete mode 100644 vertx-demo/src/main/kotlin/app/example/Order.kt delete mode 100644 vertx-demo/src/main/kotlin/app/example/SqlAnnotationExample.kt delete mode 100644 vertx-demo/src/main/kotlin/app/example/SqlMigrationExample.kt delete mode 100644 vertx-demo/src/test/resources/application-apifox.yaml delete mode 100644 vertx-demo/src/test/resources/application-database.yaml delete mode 100644 vertx-demo/src/test/resources/application.yaml create mode 100644 vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/DbMigration.kt rename vertx-fw/src/main/kotlin/org/aikrai/vertx/{gen => db/migration}/SqlAnnotationMapper.kt (99%) rename vertx-fw/src/main/kotlin/org/aikrai/vertx/{gen => db/migration}/SqlGenerator.kt (99%) rename vertx-fw/src/main/kotlin/org/aikrai/vertx/{gen => db/migration}/SqlMigrationGenerator.kt (98%) rename vertx-fw/src/main/kotlin/org/aikrai/vertx/db/{ => wrapper}/QueryWrapper.kt (97%) rename vertx-fw/src/main/kotlin/org/aikrai/vertx/db/{ => wrapper}/QueryWrapperImpl.kt (99%) rename vertx-fw/src/main/kotlin/org/aikrai/vertx/db/{ => wrapper}/Repository.kt (93%) rename vertx-fw/src/main/kotlin/org/aikrai/vertx/db/{ => wrapper}/RepositoryImpl.kt (99%) diff --git a/vertx-demo/build.gradle.kts b/vertx-demo/build.gradle.kts index 511a06f..8e035a5 100644 --- a/vertx-demo/build.gradle.kts +++ b/vertx-demo/build.gradle.kts @@ -83,11 +83,11 @@ dependencies { implementation("dev.langchain4j:langchain4j-open-ai:1.0.0-beta1") implementation("dev.langchain4j:langchain4j:1.0.0-beta1") - - implementation("com.google.inject:guice:5.1.0") implementation("org.reflections:reflections:0.10.2") - implementation("cn.hutool:hutool-all:5.8.24") + implementation("cn.hutool:hutool-core:5.8.24") + implementation("cn.hutool:hutool-json:5.8.24") + implementation("cn.hutool:hutool-crypto:5.8.24") implementation("com.fasterxml.jackson.core:jackson-databind:2.15.2") implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.15.2") // implementation("com.github.ben-manes.caffeine:caffeine:3.1.8") @@ -99,10 +99,6 @@ dependencies { implementation("ch.qos.logback:logback-classic:1.4.14") implementation("org.codehaus.janino:janino:3.1.8") - // jpa -// implementation("jakarta.persistence:jakarta.persistence-api:3.2.0") -// implementation("jakarta.validation:jakarta.validation-api:3.1.0") - // db implementation("org.postgresql:postgresql:42.7.5") implementation("com.ongres.scram:client:2.1") diff --git a/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepository.kt b/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepository.kt index 555e0ed..e747f0f 100644 --- a/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepository.kt +++ b/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepository.kt @@ -3,7 +3,7 @@ package app.data.domain.account import app.data.domain.account.modle.AccountRoleAccessDTO import app.data.domain.account.modle.AccountRoleDTO import com.google.inject.ImplementedBy -import org.aikrai.vertx.db.Repository +import org.aikrai.vertx.db.wrapper.Repository @ImplementedBy(AccountRepositoryImpl::class) interface AccountRepository : Repository { diff --git a/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepositoryImpl.kt b/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepositoryImpl.kt index 59a7a00..a1a269e 100644 --- a/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepositoryImpl.kt +++ b/vertx-demo/src/main/kotlin/app/data/domain/account/AccountRepositoryImpl.kt @@ -4,7 +4,7 @@ import app.data.domain.account.modle.AccountRoleAccessDTO import app.data.domain.account.modle.AccountRoleDTO import com.google.inject.Inject import io.vertx.sqlclient.SqlClient -import org.aikrai.vertx.db.RepositoryImpl +import org.aikrai.vertx.db.wrapper.RepositoryImpl class AccountRepositoryImpl @Inject constructor( sqlClient: SqlClient diff --git a/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepository.kt b/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepository.kt index 1bcc314..3eed7b5 100644 --- a/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepository.kt +++ b/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepository.kt @@ -1,7 +1,7 @@ package app.data.domain.menu import com.google.inject.ImplementedBy -import org.aikrai.vertx.db.Repository +import org.aikrai.vertx.db.wrapper.Repository @ImplementedBy(MenuRepositoryImpl::class) interface MenuRepository : Repository { diff --git a/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepositoryImpl.kt b/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepositoryImpl.kt index 27668eb..8e16acf 100644 --- a/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepositoryImpl.kt +++ b/vertx-demo/src/main/kotlin/app/data/domain/menu/MenuRepositoryImpl.kt @@ -2,7 +2,7 @@ package app.data.domain.menu import com.google.inject.Inject import io.vertx.sqlclient.SqlClient -import org.aikrai.vertx.db.RepositoryImpl +import org.aikrai.vertx.db.wrapper.RepositoryImpl class MenuRepositoryImpl @Inject constructor( sqlClient: SqlClient diff --git a/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepository.kt b/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepository.kt index e0a8148..4f1d5bf 100644 --- a/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepository.kt +++ b/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepository.kt @@ -1,7 +1,7 @@ package app.data.domain.role import com.google.inject.ImplementedBy -import org.aikrai.vertx.db.Repository +import org.aikrai.vertx.db.wrapper.Repository @ImplementedBy(RoleRepositoryImpl::class) interface RoleRepository : Repository diff --git a/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepositoryImpl.kt b/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepositoryImpl.kt index d8ba1d2..761bb62 100644 --- a/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepositoryImpl.kt +++ b/vertx-demo/src/main/kotlin/app/data/domain/role/RoleRepositoryImpl.kt @@ -2,7 +2,7 @@ package app.data.domain.role import com.google.inject.Inject import io.vertx.sqlclient.SqlClient -import org.aikrai.vertx.db.RepositoryImpl +import org.aikrai.vertx.db.wrapper.RepositoryImpl class RoleRepositoryImpl @Inject constructor( sqlClient: SqlClient diff --git a/vertx-demo/src/main/kotlin/app/example/Order.kt b/vertx-demo/src/main/kotlin/app/example/Order.kt deleted file mode 100644 index 1f8f04c..0000000 --- a/vertx-demo/src/main/kotlin/app/example/Order.kt +++ /dev/null @@ -1,26 +0,0 @@ -package app.example - -import org.aikrai.vertx.db.annotation.TableField -import org.aikrai.vertx.db.annotation.TableId -import org.aikrai.vertx.db.annotation.TableName - -/** - * 订单实体类 - */ -@TableName("tb_order") -class Order { - @TableId - var id: Long = 0 - - @TableField("order_no", type = "VARCHAR(32)") - var orderNo: String = "" - - @TableField("open_id", type = "BIGINT") - var openId: Long = 0 - - @TableField("user_id", type = "BIGINT") - var userId: Long = 0 - - @TableField("updated_at", type = "TIMESTAMP") - var updatedAt: String? = null -} \ No newline at end of file diff --git a/vertx-demo/src/main/kotlin/app/example/SqlAnnotationExample.kt b/vertx-demo/src/main/kotlin/app/example/SqlAnnotationExample.kt deleted file mode 100644 index 1c6785d..0000000 --- a/vertx-demo/src/main/kotlin/app/example/SqlAnnotationExample.kt +++ /dev/null @@ -1,150 +0,0 @@ -//package app.example -// -//import org.aikrai.vertx.gen.AnnotationMapping -//import org.aikrai.vertx.gen.ColumnMapping -//import org.aikrai.vertx.gen.SqlAnnotationMapper -//import org.aikrai.vertx.gen.SqlGenerator -// -///** -// * 表名注解示例 -// */ -//@Target(AnnotationTarget.CLASS) -//@Retention(AnnotationRetention.RUNTIME) -//annotation class TableName(val value: String) -// -///** -// * 列名注解示例 -// */ -//@Target(AnnotationTarget.FIELD) -//@Retention(AnnotationRetention.RUNTIME) -//annotation class Column(val value: String, val type: String = "VARCHAR(255)") -// -///** -// * 主键注解示例 -// */ -//@Target(AnnotationTarget.FIELD) -//@Retention(AnnotationRetention.RUNTIME) -//annotation class Id(val value: Boolean = true) -// -///** -// * 非空注解示例 -// */ -//@Target(AnnotationTarget.FIELD) -//@Retention(AnnotationRetention.RUNTIME) -//annotation class NotNull(val value: Boolean = true) -// -///** -// * 默认值注解示例 -// */ -//@Target(AnnotationTarget.FIELD) -//@Retention(AnnotationRetention.RUNTIME) -//annotation class DefaultValue(val value: String) -// -///** -// * 用户实体类示例 -// */ -//@TableName("tb_user") -//class User { -// @Id -// @Column("id", "SERIAL") -// @NotNull -// var id: Long = 0 -// -// @Column("username") -// @NotNull -// var username: String = "" -// -// @Column("email") -// var email: String? = null -// -// @Column("created_at", "TIMESTAMP") -// @DefaultValue("CURRENT_TIMESTAMP") -// var createdAt: String = "" -//} -// -///** -// * SQL注解映射示例 -// */ -//class SqlAnnotationExample { -// companion object { -// /** -// * 创建注解映射器 -// */ -// fun createMapper(): SqlAnnotationMapper { -// val mapper = SqlAnnotationMapper() -// -// // 设置表名映射 -// mapper.tableName = AnnotationMapping( -// annotationClass = TableName::class, -// propertyName = "value" -// ) -// -// // 设置列名映射 -// mapper.addColumnMapping( -// ColumnMapping( -// nameMapping = AnnotationMapping( -// annotationClass = Column::class, -// propertyName = "value" -// ), -// typeMapping = AnnotationMapping( -// annotationClass = Column::class, -// propertyName = "type" -// ), -// nullableMapping = AnnotationMapping( -// annotationClass = NotNull::class, -// propertyName = "value" -// ), -// defaultValueMapping = AnnotationMapping( -// annotationClass = DefaultValue::class, -// propertyName = "value" -// ) -// ) -// ) -// -// // 设置主键映射 -// mapper.primaryKeyMapping = AnnotationMapping( -// annotationClass = Id::class, -// propertyName = "value" -// ) -// -// return mapper -// } -// -// /** -// * 测试SQL生成 -// */ -// fun testSqlGeneration() { -// // 创建注解映射器 -// val mapper = createMapper() -// -// // 生成各种SQL -// val createTableSql = SqlGenerator.generateCreateTableSql(User::class, mapper) -// val insertSql = SqlGenerator.generateInsertSql(User::class, mapper) -// val updateSql = SqlGenerator.generateUpdateSql(User::class, mapper) -// val deleteSql = SqlGenerator.generateDeleteSql(User::class, mapper) -// val selectSql = SqlGenerator.generateSelectSql(User::class, mapper) -// val selectByPkSql = SqlGenerator.generateSelectByPrimaryKeySql(User::class, mapper) -// -// // 打印SQL -// println("Create Table SQL:") -// println(createTableSql) -// println("\nInsert SQL:") -// println(insertSql) -// println("\nUpdate SQL:") -// println(updateSql) -// println("\nDelete SQL:") -// println(deleteSql) -// println("\nSelect SQL:") -// println(selectSql) -// println("\nSelect By PK SQL:") -// println(selectByPkSql) -// } -// } -//} -// -///** -// * 主函数,用于演示 -// */ -//fun main() { -// SqlAnnotationExample.testSqlGeneration() -//} \ No newline at end of file diff --git a/vertx-demo/src/main/kotlin/app/example/SqlMigrationExample.kt b/vertx-demo/src/main/kotlin/app/example/SqlMigrationExample.kt deleted file mode 100644 index bb7c636..0000000 --- a/vertx-demo/src/main/kotlin/app/example/SqlMigrationExample.kt +++ /dev/null @@ -1,94 +0,0 @@ -//package app.example -// -//import org.aikrai.vertx.db.annotation.TableField -//import org.aikrai.vertx.db.annotation.TableId -//import org.aikrai.vertx.db.annotation.TableName -//import org.aikrai.vertx.gen.AnnotationMapping -//import org.aikrai.vertx.gen.ColumnMapping -//import org.aikrai.vertx.gen.SqlAnnotationMapper -//import org.aikrai.vertx.gen.SqlMigrationGenerator -//import org.reflections.Reflections -//import kotlin.reflect.KClass -// -///** -// * PostgreSQL数据库迁移工具示例 -// */ -//class SqlMigrationExample { -// companion object { -// /** -// * 创建注解映射器 -// */ -// fun createMapper(): SqlAnnotationMapper { -// val mapper = SqlAnnotationMapper() -// -// // 设置表名映射 -// mapper.tableName = AnnotationMapping( -// annotationClass = TableName::class, -// propertyName = "value" -// ) -// -// // 设置列名映射 -// mapper.addColumnMapping( -// ColumnMapping( -// nameMapping = AnnotationMapping( -// annotationClass = TableField::class, -// propertyName = "value" -// ), -// typeMapping = AnnotationMapping( -// annotationClass = TableField::class, -// propertyName = "type" -// ), -// nullableMapping = AnnotationMapping( -// annotationClass = TableField::class, -// propertyName = "nullable" -// ), -// defaultValueMapping = AnnotationMapping( -// annotationClass = TableField::class, -// propertyName = "default" -// ) -// ) -// ) -// -// // 设置主键映射 -// mapper.primaryKeyMapping = AnnotationMapping( -// annotationClass = TableId::class, -// propertyName = "value" -// ) -// -// return mapper -// } -// -// /** -// * 测试数据库迁移生成 -// */ -// fun testMigrationGeneration() { -// // 创建注解映射器 -// val mapper = createMapper() -// -// // 扫描实体类 -// val entityClasses = scanEntityClasses("app.example") -// -// // 生成迁移文件 -// SqlMigrationGenerator.generateMigrations(entityClasses, mapper) -// -// println("数据库迁移文件生成完成") -// } -// -// /** -// * 扫描包路径下标记了@TableName注解的实体类 -// */ -// private fun scanEntityClasses(packagePath: String): List> { -// val reflections = Reflections(packagePath) -// val entityClasses = reflections.getTypesAnnotatedWith(TableName::class.java) -// -// return entityClasses.map { it.kotlin } -// } -// } -//} -// -///** -// * 主函数,用于演示 -// */ -//fun main() { -// SqlMigrationExample.testMigrationGeneration() -//} \ No newline at end of file diff --git a/vertx-demo/src/test/kotlin/app/GenerateMigration.kt b/vertx-demo/src/test/kotlin/app/GenerateMigration.kt index 59256fa..93d7cb8 100644 --- a/vertx-demo/src/test/kotlin/app/GenerateMigration.kt +++ b/vertx-demo/src/test/kotlin/app/GenerateMigration.kt @@ -3,17 +3,17 @@ package app import org.aikrai.vertx.db.annotation.TableField import org.aikrai.vertx.db.annotation.TableId import org.aikrai.vertx.db.annotation.TableName -import org.aikrai.vertx.gen.AnnotationMapping -import org.aikrai.vertx.gen.ColumnMapping -import org.aikrai.vertx.gen.SqlAnnotationMapper -import org.aikrai.vertx.gen.SqlMigrationGenerator -import org.reflections.Reflections -import kotlin.reflect.KClass +import org.aikrai.vertx.db.migration.AnnotationMapping +import org.aikrai.vertx.db.migration.ColumnMapping +import org.aikrai.vertx.db.migration.SqlAnnotationMapper +import org.aikrai.vertx.db.migration.SqlMigrationGenerator object GenerateMigration { @JvmStatic fun main(args: Array) { - testMigrationGeneration() + val entityPackage = "app.data.domain" + + migrationGeneration(entityPackage) } /** @@ -62,26 +62,16 @@ object GenerateMigration { /** * 测试数据库迁移生成 */ - private fun testMigrationGeneration() { + private fun migrationGeneration(entityPackage: String) { // 创建注解映射器 val mapper = createMapper() // 扫描实体类 - val entityClasses = scanEntityClasses("app.example") + val entityClasses = scanEntityClasses(entityPackage) // 生成迁移文件 SqlMigrationGenerator.generateMigrations(entityClasses, mapper) println("数据库迁移文件生成完成") } - - /** - * 扫描包路径下标记了@TableName注解的实体类 - */ - private fun scanEntityClasses(packagePath: String): List> { - val reflections = Reflections(packagePath) - val entityClasses = reflections.getTypesAnnotatedWith(TableName::class.java) - - return entityClasses.map { it.kotlin } - } } \ No newline at end of file diff --git a/vertx-demo/src/test/resources/application-apifox.yaml b/vertx-demo/src/test/resources/application-apifox.yaml deleted file mode 100644 index e5235a5..0000000 --- a/vertx-demo/src/test/resources/application-apifox.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apifox: - token: APS-xxxxxxxxxxxxxxxxxxxx - projectId: xxxxx - folderId: xxxxx \ No newline at end of file diff --git a/vertx-demo/src/test/resources/application-database.yaml b/vertx-demo/src/test/resources/application-database.yaml deleted file mode 100644 index 5f3bd71..0000000 --- a/vertx-demo/src/test/resources/application-database.yaml +++ /dev/null @@ -1,14 +0,0 @@ -databases: - name: vertx-demo - host: 127.0.0.1 - port: 5432 - username: root - password: 123456 - -redis: - host: 127.0.0.1 - port: 6379 - database: 0 - password: xxx - maxPoolSize: 8 - maxPoolWaiting: 2000 \ No newline at end of file diff --git a/vertx-demo/src/test/resources/application.yaml b/vertx-demo/src/test/resources/application.yaml deleted file mode 100644 index ebb6a31..0000000 --- a/vertx-demo/src/test/resources/application.yaml +++ /dev/null @@ -1,5 +0,0 @@ -server: - port: 8080 - package: app - - diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/DbMigration.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/DbMigration.kt new file mode 100644 index 0000000..53fdce1 --- /dev/null +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/DbMigration.kt @@ -0,0 +1,4 @@ +package org.aikrai.vertx.db.migration + +class DbMigration { +} \ No newline at end of file diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlAnnotationMapper.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlAnnotationMapper.kt similarity index 99% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlAnnotationMapper.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlAnnotationMapper.kt index e76b8d7..012f647 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlAnnotationMapper.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlAnnotationMapper.kt @@ -1,4 +1,4 @@ -package org.aikrai.vertx.gen +package org.aikrai.vertx.db.migration import kotlin.reflect.KClass diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlGenerator.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlGenerator.kt similarity index 99% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlGenerator.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlGenerator.kt index aa77e21..bed08e5 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlGenerator.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlGenerator.kt @@ -1,4 +1,4 @@ -package org.aikrai.vertx.gen +package org.aikrai.vertx.db.migration import kotlin.reflect.KClass diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlMigrationGenerator.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlMigrationGenerator.kt similarity index 98% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlMigrationGenerator.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlMigrationGenerator.kt index 4ec3422..a1d276f 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/gen/SqlMigrationGenerator.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/migration/SqlMigrationGenerator.kt @@ -1,5 +1,7 @@ -package org.aikrai.vertx.gen +package org.aikrai.vertx.db.migration +import org.aikrai.vertx.db.annotation.TableName +import org.reflections.Reflections import org.w3c.dom.Document import org.w3c.dom.Element import java.io.File @@ -45,6 +47,15 @@ class SqlMigrationGenerator { generateDiffMigration(entityClasses, mapper) } } + + /** + * 扫描包路径下标记了@TableName注解的实体类 + */ + private fun scanEntityClasses(packagePath: String): List> { + val reflections = Reflections(packagePath) + val entityClasses = reflections.getTypesAnnotatedWith(TableName::class.java) + return entityClasses.map { it.kotlin } + } /** * 创建必要的目录 @@ -310,7 +321,7 @@ class SqlMigrationGenerator { * 处理创建表 */ private fun processCreateTables( - tablesToCreate: List, + tablesToCreate: List, sqlBuilder: StringBuilder, doc: Document, changeSetElement: Element @@ -353,7 +364,7 @@ class SqlMigrationGenerator { * 处理添加列 */ private fun processAddColumns( - columnsToAdd: Map>, + columnsToAdd: Map>, sqlBuilder: StringBuilder, doc: Document, changeSetElement: Element @@ -424,7 +435,7 @@ class SqlMigrationGenerator { * 处理修改列 */ private fun processAlterColumns( - columnsToAlter: Map>>, + columnsToAlter: Map>>, sqlBuilder: StringBuilder, doc: Document, changeSetElement: Element diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/QueryWrapper.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/QueryWrapper.kt similarity index 97% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/db/QueryWrapper.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/QueryWrapper.kt index 23ef5b6..fe53080 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/QueryWrapper.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/QueryWrapper.kt @@ -1,4 +1,4 @@ -package org.aikrai.vertx.db +package org.aikrai.vertx.db.wrapper import kotlin.reflect.KProperty1 diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/QueryWrapperImpl.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/QueryWrapperImpl.kt similarity index 99% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/db/QueryWrapperImpl.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/QueryWrapperImpl.kt index 4f784fc..ab136da 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/QueryWrapperImpl.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/QueryWrapperImpl.kt @@ -1,4 +1,4 @@ -package org.aikrai.vertx.db +package org.aikrai.vertx.db.wrapper import io.vertx.kotlin.coroutines.coAwait import io.vertx.sqlclient.Row diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/Repository.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/Repository.kt similarity index 93% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/db/Repository.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/Repository.kt index a6892c1..5bd67f0 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/Repository.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/Repository.kt @@ -1,4 +1,4 @@ -package org.aikrai.vertx.db +package org.aikrai.vertx.db.wrapper import kotlin.reflect.KProperty1 diff --git a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/RepositoryImpl.kt b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/RepositoryImpl.kt similarity index 99% rename from vertx-fw/src/main/kotlin/org/aikrai/vertx/db/RepositoryImpl.kt rename to vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/RepositoryImpl.kt index 9766579..906b2b4 100644 --- a/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/RepositoryImpl.kt +++ b/vertx-fw/src/main/kotlin/org/aikrai/vertx/db/wrapper/RepositoryImpl.kt @@ -1,4 +1,4 @@ -package org.aikrai.vertx.db +package org.aikrai.vertx.db.wrapper import cn.hutool.core.util.IdUtil import cn.hutool.core.util.StrUtil