diff --git a/build.gradle b/build.gradle index 5d30abd16..5c01c7701 100644 --- a/build.gradle +++ b/build.gradle @@ -7,15 +7,17 @@ allprojects { ext { configuration = [ - javaVersion = JavaVersion.VERSION_1_8 + javaVersion = JavaVersion.VERSION_17 ] libraries = [ mybatisVersion = '3.5.13', mybatisSpringVersion = '2.1.1', + mybatisSpring3Version = '3.0.2', mybatisSpringBootStarterVersion = '2.3.1', springVersion = '5.3.15', springBootVersion = '2.5.3', + springBoot3Version = '3.1.3', springCloudVersion = '3.1.1', jsqlparserVersion = '4.6', junitVersion = '5.9.0', @@ -27,6 +29,7 @@ ext { "jsqlparser" : "com.github.jsqlparser:jsqlparser:${jsqlparserVersion}", "mybatis" : "org.mybatis:mybatis:${mybatisVersion}", "mybatis-spring" : "org.mybatis:mybatis-spring:${mybatisSpringVersion}", + "mybatis-spring3" : "org.mybatis:mybatis-spring:${mybatisSpring3Version}", "mybatis-thymeleaf" : "org.mybatis.scripting:mybatis-thymeleaf:1.0.3", "mybatis-freemarker" : "org.mybatis.scripting:mybatis-freemarker:1.2.3", "mybatis-velocity" : "org.mybatis.scripting:mybatis-velocity:2.1.2", @@ -90,6 +93,10 @@ subprojects { sourceCompatibility = "${javaVersion}" targetCompatibility = "${javaVersion}" + compileJava { + options.release = 8 + } + repositories { mavenLocal() maven { url "https://maven.aliyun.com/repository/public" } diff --git a/gradle.properties b/gradle.properties index b9d42c41e..2665a8e11 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -APP_VERSION=3.5.3.2 +APP_VERSION=3.5.4 APP_GROUP=com.baomidou signing.keyId=1FD337F9 signing.password=243194995 diff --git a/mybatis-plus-extension/build.gradle b/mybatis-plus-extension/build.gradle index 4120102ed..395557501 100644 --- a/mybatis-plus-extension/build.gradle +++ b/mybatis-plus-extension/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'kotlin' dependencies { api project(":mybatis-plus-core") - api "${lib."mybatis-spring"}" + implementation "${lib."mybatis-spring"}" implementation "${lib."kotlin-stdlib-jdk8"}" implementation "${lib."kotlin-reflect"}" diff --git a/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/parser/JsqlParserSimpleSerialTest.java b/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/parser/JsqlParserSimpleSerialTest.java index bc9a14b47..10b73623c 100644 --- a/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/parser/JsqlParserSimpleSerialTest.java +++ b/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/parser/JsqlParserSimpleSerialTest.java @@ -5,6 +5,8 @@ import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.Statement; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledOnJre; +import org.junit.jupiter.api.condition.JRE; import org.springframework.util.SerializationUtils; import static org.assertj.core.api.Assertions.assertThat; @@ -22,6 +24,7 @@ class JsqlParserSimpleSerialTest { "WHERE (e.id = ? OR e.NAME = ?)"; @Test + @EnabledOnJre(JRE.JAVA_8) void test() throws JSQLParserException { System.out.println("循环次数: " + len); noSerial(); diff --git a/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java b/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java index 947825b28..a9adf1df0 100644 --- a/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java +++ b/mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java @@ -61,7 +61,7 @@ class GeneratePomTest { Assertions.assertFalse(core.isOptional()); Dependency mybatisSpring = dependenciesMap.get("mybatis-spring"); Assertions.assertEquals("compile", mybatisSpring.getScope()); - Assertions.assertFalse(mybatisSpring.isOptional()); + Assertions.assertTrue(mybatisSpring.isOptional()); Dependency kotlinStdlib = dependenciesMap.get("kotlin-stdlib-jdk8"); Assertions.assertEquals("compile", kotlinStdlib.getScope()); Assertions.assertTrue(kotlinStdlib.isOptional()); diff --git a/mybatis-plus/build.gradle b/mybatis-plus/build.gradle index c75d2d53c..f7f4f65dc 100644 --- a/mybatis-plus/build.gradle +++ b/mybatis-plus/build.gradle @@ -7,7 +7,7 @@ dependencies { api "${lib.'jsqlparser'}" // TODO 这个后面优化到mybatis-plus-boot-starter里面把,非spring项目不需要这个. - api "${lib."mybatis-spring"}" + implementation "${lib."mybatis-spring"}" testImplementation "${lib.'spring-web'}" testImplementation "${lib.'javax.servlet-api'}" diff --git a/settings.gradle b/settings.gradle index f7ed10c31..3f7a78db2 100644 --- a/settings.gradle +++ b/settings.gradle @@ -20,7 +20,12 @@ include 'mybatis-plus-core' include 'mybatis-plus-annotation' include 'mybatis-plus-extension' include 'mybatis-plus-generator' -include 'mybatis-plus-boot-starter' -include 'mybatis-plus-boot-starter-test' include 'mybatis-plus-bom' +include 'spring-boot-starter' +include ':spring-boot-starter:mybatis-plus-boot-starter' +include ':spring-boot-starter:mybatis-plus-boot-starter-test' +include ':spring-boot-starter:mybatis-plus-spring-boot-autoconfigure' +include ':spring-boot-starter:mybatis-plus-spring-boot3-starter' +include ':spring-boot-starter:mybatis-plus-spring-boot3-starter-test' +include ':spring-boot-starter:mybatis-plus-spring-boot-test-autoconfigure' diff --git a/spring-boot-starter/build.gradle b/spring-boot-starter/build.gradle new file mode 100644 index 000000000..3ed6d8f5f --- /dev/null +++ b/spring-boot-starter/build.gradle @@ -0,0 +1 @@ +tasks.matching { it.group == 'publishing' }.each { it.enabled = false } diff --git a/mybatis-plus-boot-starter-test/build.gradle b/spring-boot-starter/mybatis-plus-boot-starter-test/build.gradle similarity index 71% rename from mybatis-plus-boot-starter-test/build.gradle rename to spring-boot-starter/mybatis-plus-boot-starter-test/build.gradle index bc6963290..43dd40cbc 100644 --- a/mybatis-plus-boot-starter-test/build.gradle +++ b/spring-boot-starter/mybatis-plus-boot-starter-test/build.gradle @@ -1,7 +1,8 @@ // 全量 copy 自 mybatis 的 mybatis-spring-boot-starter-test dependencies { - api project(":mybatis-plus-boot-starter") + api project(":spring-boot-starter:mybatis-plus-boot-starter") + api project(":spring-boot-starter:mybatis-plus-spring-boot-test-autoconfigure") implementation platform("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") api "org.springframework.boot:spring-boot-autoconfigure" api "org.springframework.boot:spring-boot-starter-test" diff --git a/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java b/spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java rename to spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java diff --git a/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java b/spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java rename to spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java diff --git a/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java b/spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java rename to spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java diff --git a/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java b/spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java rename to spring-boot-starter/mybatis-plus-boot-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java diff --git a/mybatis-plus-boot-starter-test/src/test/resources/application.yml b/spring-boot-starter/mybatis-plus-boot-starter-test/src/test/resources/application.yml similarity index 100% rename from mybatis-plus-boot-starter-test/src/test/resources/application.yml rename to spring-boot-starter/mybatis-plus-boot-starter-test/src/test/resources/application.yml diff --git a/mybatis-plus-boot-starter-test/src/test/resources/schema.sql b/spring-boot-starter/mybatis-plus-boot-starter-test/src/test/resources/schema.sql similarity index 100% rename from mybatis-plus-boot-starter-test/src/test/resources/schema.sql rename to spring-boot-starter/mybatis-plus-boot-starter-test/src/test/resources/schema.sql diff --git a/mybatis-plus-boot-starter/build.gradle b/spring-boot-starter/mybatis-plus-boot-starter/build.gradle similarity index 90% rename from mybatis-plus-boot-starter/build.gradle rename to spring-boot-starter/mybatis-plus-boot-starter/build.gradle index 9341e6c25..d0d466ae6 100644 --- a/mybatis-plus-boot-starter/build.gradle +++ b/spring-boot-starter/mybatis-plus-boot-starter/build.gradle @@ -1,5 +1,7 @@ dependencies { api project(":mybatis-plus") + api "${lib."mybatis-spring"}" + api project(":spring-boot-starter:mybatis-plus-spring-boot-autoconfigure") implementation platform("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor:${springBootVersion}" annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}" diff --git a/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java b/spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java similarity index 100% rename from mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java diff --git a/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java b/spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java similarity index 100% rename from mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java diff --git a/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java b/spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java similarity index 100% rename from mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java diff --git a/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java b/spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java similarity index 100% rename from mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java diff --git a/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java b/spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java similarity index 100% rename from mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java diff --git a/mybatis-plus-boot-starter/src/test/resources/application.yml b/spring-boot-starter/mybatis-plus-boot-starter/src/test/resources/application.yml similarity index 100% rename from mybatis-plus-boot-starter/src/test/resources/application.yml rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/resources/application.yml diff --git a/mybatis-plus-boot-starter/src/test/resources/mapper/modulea/testa.xml b/spring-boot-starter/mybatis-plus-boot-starter/src/test/resources/mapper/modulea/testa.xml similarity index 100% rename from mybatis-plus-boot-starter/src/test/resources/mapper/modulea/testa.xml rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/resources/mapper/modulea/testa.xml diff --git a/mybatis-plus-boot-starter/src/test/resources/mapper/moduleb/testb.xml b/spring-boot-starter/mybatis-plus-boot-starter/src/test/resources/mapper/moduleb/testb.xml similarity index 100% rename from mybatis-plus-boot-starter/src/test/resources/mapper/moduleb/testb.xml rename to spring-boot-starter/mybatis-plus-boot-starter/src/test/resources/mapper/moduleb/testb.xml diff --git a/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/build.gradle b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/build.gradle new file mode 100644 index 000000000..6e1027bb3 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/build.gradle @@ -0,0 +1,16 @@ +dependencies { + implementation project(":mybatis-plus") + implementation "${lib."mybatis-spring"}" + implementation "org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}" + implementation "org.springframework.boot:spring-boot-starter-jdbc:${springBootVersion}" + annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}" + annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor:${springBootVersion}" + implementation "${lib['mybatis-thymeleaf']}" + implementation "${lib.'mybatis-velocity'}" + implementation "${lib.'mybatis-freemarker'}" + implementation "${lib.'spring-cloud-commons'}" + testImplementation "org.springframework.boot:spring-boot-starter-test:${springBootVersion}" + testImplementation "${lib.'mybatis-spring-boot-starter'}" +} + +compileJava.dependsOn(processResources) diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/ConfigurationCustomizer.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/ConfigurationCustomizer.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/ConfigurationCustomizer.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/ConfigurationCustomizer.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/DdlApplicationRunner.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/DdlApplicationRunner.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/DdlApplicationRunner.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/DdlApplicationRunner.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/IdentifierGeneratorAutoConfiguration.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/IdentifierGeneratorAutoConfiguration.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/IdentifierGeneratorAutoConfiguration.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/IdentifierGeneratorAutoConfiguration.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisDependsOnDatabaseInitializationDetector.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisDependsOnDatabaseInitializationDetector.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisDependsOnDatabaseInitializationDetector.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisDependsOnDatabaseInitializationDetector.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusLanguageDriverAutoConfiguration.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusLanguageDriverAutoConfiguration.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusLanguageDriverAutoConfiguration.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusLanguageDriverAutoConfiguration.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusProperties.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusProperties.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusProperties.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusProperties.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusPropertiesCustomizer.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusPropertiesCustomizer.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusPropertiesCustomizer.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusPropertiesCustomizer.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SafetyEncryptProcessor.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/SafetyEncryptProcessor.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SafetyEncryptProcessor.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/SafetyEncryptProcessor.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SpringBootVFS.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/SpringBootVFS.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SpringBootVFS.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/SpringBootVFS.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SqlSessionFactoryBeanCustomizer.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/SqlSessionFactoryBeanCustomizer.java similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SqlSessionFactoryBeanCustomizer.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/SqlSessionFactoryBeanCustomizer.java diff --git a/mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/package-info.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/package-info.java old mode 100755 new mode 100644 similarity index 100% rename from mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/package-info.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/java/com/baomidou/mybatisplus/autoconfigure/package-info.java diff --git a/mybatis-plus-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json old mode 100755 new mode 100644 similarity index 100% rename from mybatis-plus-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/mybatis-plus-boot-starter/src/main/resources/META-INF/spring.factories b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories old mode 100755 new mode 100644 similarity index 100% rename from mybatis-plus-boot-starter/src/main/resources/META-INF/spring.factories rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories diff --git a/mybatis-plus-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports similarity index 100% rename from mybatis-plus-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports diff --git a/mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/MetadataTest.java b/spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/test/java/com/baomidou/mybatisplus/test/MetadataTest.java similarity index 100% rename from mybatis-plus-boot-starter/src/test/java/com/baomidou/mybatisplus/test/MetadataTest.java rename to spring-boot-starter/mybatis-plus-spring-boot-autoconfigure/src/test/java/com/baomidou/mybatisplus/test/MetadataTest.java diff --git a/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/build.gradle b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/build.gradle new file mode 100644 index 000000000..b8955188a --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/build.gradle @@ -0,0 +1,8 @@ +dependencies { + implementation "org.springframework:spring-tx:${springVersion}" + implementation project(":spring-boot-starter:mybatis-plus-boot-starter") + implementation "org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}" + implementation "org.springframework.boot:spring-boot-starter-jdbc:${springBootVersion}" + implementation "org.springframework.boot:spring-boot-autoconfigure:${springBootVersion}" + implementation "org.springframework.boot:spring-boot-starter-test:${springBootVersion}" +} diff --git a/mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/AutoConfigureMybatisPlus.java b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/AutoConfigureMybatisPlus.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/AutoConfigureMybatisPlus.java rename to spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/AutoConfigureMybatisPlus.java diff --git a/mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTest.java b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTest.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTest.java rename to spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTest.java diff --git a/mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestContextBootstrapper.java b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestContextBootstrapper.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestContextBootstrapper.java rename to spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestContextBootstrapper.java diff --git a/mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTypeExcludeFilter.java b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTypeExcludeFilter.java similarity index 100% rename from mybatis-plus-boot-starter-test/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTypeExcludeFilter.java rename to spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTypeExcludeFilter.java diff --git a/mybatis-plus-boot-starter-test/src/main/resources/META-INF/spring.factories b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories old mode 100755 new mode 100644 similarity index 100% rename from mybatis-plus-boot-starter-test/src/main/resources/META-INF/spring.factories rename to spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories diff --git a/mybatis-plus-boot-starter-test/src/main/resources/META-INF/spring/com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports b/spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports similarity index 100% rename from mybatis-plus-boot-starter-test/src/main/resources/META-INF/spring/com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports rename to spring-boot-starter/mybatis-plus-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/build.gradle b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/build.gradle new file mode 100644 index 000000000..0a16b4947 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/build.gradle @@ -0,0 +1,18 @@ +java { +// toolchain { +// languageVersion.set(JavaLanguageVersion.of(17)) +// } + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +} + + +dependencies { + api project(":spring-boot-starter:mybatis-plus-spring-boot3-starter") + api project(":spring-boot-starter:mybatis-plus-spring-boot-test-autoconfigure") + implementation platform("org.springframework.boot:spring-boot-dependencies:${springBoot3Version}") + api "org.springframework.boot:spring-boot-autoconfigure" + api "org.springframework.boot:spring-boot-starter-test" + api "org.springframework:spring-tx" + testImplementation "${lib.h2}" +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java new file mode 100644 index 000000000..5dff25b95 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusSampleTest.java @@ -0,0 +1,25 @@ +package com.baomidou.mybatisplus.test.autoconfigure; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author miemie + * @since 2020-05-27 + */ +//@MybatisPlusTest(properties = "spring.datasource.schema=classpath:schema.sql") +@MybatisPlusTest +class MybatisPlusSampleTest { + + @Autowired + private SampleMapper sampleMapper; + + @Test + void testInsert() { + Sample sample = new Sample(); + sampleMapper.insert(sample); + assertThat(sample.getId()).isNotNull(); + } +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java new file mode 100644 index 000000000..c0aa3fd04 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/MybatisPlusTestApplication.java @@ -0,0 +1,12 @@ +package com.baomidou.mybatisplus.test.autoconfigure; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author miemie + * @since 2020-05-27 + */ +@SpringBootApplication +public class MybatisPlusTestApplication { + +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java new file mode 100644 index 000000000..af48c77f7 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/Sample.java @@ -0,0 +1,13 @@ +package com.baomidou.mybatisplus.test.autoconfigure; + +import lombok.Data; + +/** + * @author miemie + * @since 2020-05-27 + */ +@Data +public class Sample { + private Long id; + private String name; +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java new file mode 100644 index 000000000..152d43f6d --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/java/com/baomidou/mybatisplus/test/autoconfigure/SampleMapper.java @@ -0,0 +1,12 @@ +package com.baomidou.mybatisplus.test.autoconfigure; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author miemie + * @since 2020-05-27 + */ +@Mapper +public interface SampleMapper extends BaseMapper { +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/resources/application.yml b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/resources/application.yml new file mode 100644 index 000000000..ae206d94e --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/resources/application.yml @@ -0,0 +1,8 @@ +spring: + datasource: + schema: classpath:schema.sql + +logging: + level: + org.springframework.jdbc: debug + com.baomidou.mybatisplus.test.autoconfigure: debug diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/resources/schema.sql b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/resources/schema.sql new file mode 100644 index 000000000..730be2a5f --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter-test/src/test/resources/schema.sql @@ -0,0 +1,6 @@ +drop table if exists sample; +create table if not exists sample +( + id bigint, + name varchar +); diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/build.gradle b/spring-boot-starter/mybatis-plus-spring-boot3-starter/build.gradle new file mode 100644 index 000000000..138f8403a --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/build.gradle @@ -0,0 +1,30 @@ +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +// toolchain { +// languageVersion.set(JavaLanguageVersion.of(17)) +// } +} + + +dependencies { + api project(":mybatis-plus") + api "${lib."mybatis-spring3"}" + api project(":spring-boot-starter:mybatis-plus-spring-boot-autoconfigure") + implementation platform("org.springframework.boot:spring-boot-dependencies:${springBoot3Version}") + annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor:${springBoot3Version}" + annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBoot3Version}" + api "org.springframework.boot:spring-boot-autoconfigure" + api "org.springframework.boot:spring-boot-starter-jdbc" + implementation "org.springframework.boot:spring-boot-configuration-processor" + implementation "org.springframework.boot:spring-boot-autoconfigure-processor" + implementation "${lib['mybatis-thymeleaf']}" + implementation "${lib.'mybatis-velocity'}" + implementation "${lib.'mybatis-freemarker'}" + implementation "${lib.'spring-cloud-commons'}" + testImplementation "org.springframework.boot:spring-boot-starter-test" + testImplementation "${lib.'mybatis-spring-boot-starter'}" + testImplementation "${lib.h2}" +} + +compileJava.dependsOn(processResources) diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java new file mode 100644 index 000000000..e5e475240 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/autoconfigure/ApplicationTestStartSuccess.java @@ -0,0 +1,27 @@ +package com.baomidou.mybatisplus.autoconfigure; + +import com.baomidou.mybatisplus.core.config.GlobalConfig; +import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils; +import org.apache.ibatis.session.Configuration; +import org.apache.ibatis.session.SqlSessionFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author miemie + * @since 2022-11-29 + */ +@SpringBootApplication +public class ApplicationTestStartSuccess { + + public static void main(String[] args) { + ConfigurableApplicationContext context = SpringApplication.run(ApplicationTestStartSuccess.class, args); + SqlSessionFactory bean = context.getBean(SqlSessionFactory.class); + Configuration configuration = bean.getConfiguration(); + GlobalConfig config = GlobalConfigUtils.getGlobalConfig(configuration); + assertThat(config.getIdentifierGenerator()).isNotNull(); + } +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java new file mode 100644 index 000000000..28d2e0dd1 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/MybatisPlusPropertiesTest.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2011-2020, baomidou (jobob@qq.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + *

+ * https://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.baomidou.mybatisplus.test; + +import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +/** + * 属性测试 + * + * @author nieqiurong 2019/5/4. + */ +class MybatisPlusPropertiesTest { + + @Test + void resolveMapperLocationsTest() { + MybatisPlusProperties mybatisPlusProperties = new MybatisPlusProperties(); + //默认扫描 classpath*:/mapper/**/*.xml + Assertions.assertEquals(mybatisPlusProperties.getMapperLocations()[0], "classpath*:/mapper/**/*.xml"); + Assertions.assertEquals(2, mybatisPlusProperties.resolveMapperLocations().length); + //扫描不存在的路径 + mybatisPlusProperties.setMapperLocations(new String[]{"classpath:mybatis-plus/*.xml"}); + Assertions.assertEquals(mybatisPlusProperties.resolveMapperLocations().length, 0); + } + +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java new file mode 100644 index 000000000..099f61507 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/entity/Test.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2011-2020, baomidou (jobob@qq.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + *

+ * https://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.baomidou.mybatisplus.test.entity; + +import lombok.Data; + +/** + * @author nieqiurong 2019/5/4. + */ +@Data +public class Test { + + private Long id; + + private String name; + +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java new file mode 100644 index 000000000..dbb9b6214 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/mapper/TestMapper.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2011-2020, baomidou (jobob@qq.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + *

+ * https://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.baomidou.mybatisplus.test.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.test.entity.Test; + +/** + * @author nieqiurong 2019/5/4. + */ +public interface TestMapper extends BaseMapper { + +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java new file mode 100644 index 000000000..2c158008d --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/java/com/baomidou/mybatisplus/test/pom/GeneratePomTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2011-2020, baomidou (jobob@qq.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + *

+ * https://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.baomidou.mybatisplus.test.pom; + +import jodd.io.FileUtil; +import jodd.jerry.Jerry; +import jodd.jerry.JerryParser; +import jodd.lagarto.dom.LagartoDOMBuilder; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +/** + * 检查pom依赖 + * + * @author nieqiurong 2019/2/9. + */ +class GeneratePomTest { + + @Data + @AllArgsConstructor + private static class Dependency { + private String artifactId; + private String scope; + private boolean optional; + } + + @Test + void test() throws IOException { + try (InputStream inputStream = new FileInputStream("build/publications/mavenJava/pom-default.xml")) { + JerryParser jerryParser = Jerry.create(new LagartoDOMBuilder().enableXmlMode()); + Jerry doc = jerryParser.parse(FileUtil.readUTFString(inputStream)); + Jerry dependencies = doc.s("dependencies dependency"); + Map dependenciesMap = new HashMap<>(); + dependencies.forEach($this -> { + String artifactId = $this.s("artifactId").text(); + dependenciesMap.put(artifactId, new Dependency(artifactId, $this.s("scope").text(), Boolean.parseBoolean($this.s("optional").text()))); + }); + Dependency mp = dependenciesMap.get("mybatis-plus"); + Assertions.assertEquals("compile", mp.getScope()); + Assertions.assertFalse(mp.isOptional()); + Dependency autoconfigure = dependenciesMap.get("spring-boot-autoconfigure"); + Assertions.assertEquals("compile", autoconfigure.getScope()); + Assertions.assertFalse(autoconfigure.isOptional()); + Dependency jdbc = dependenciesMap.get("spring-boot-starter-jdbc"); + Assertions.assertEquals("compile", jdbc.getScope()); + Assertions.assertFalse(jdbc.isOptional()); + Dependency configurationProcessor = dependenciesMap.get("spring-boot-configuration-processor"); + Assertions.assertEquals("compile", configurationProcessor.getScope()); + Assertions.assertTrue(configurationProcessor.isOptional()); + Dependency autoconfigureProcessor = dependenciesMap.get("spring-boot-autoconfigure-processor"); + Assertions.assertEquals("compile", autoconfigureProcessor.getScope()); + Assertions.assertTrue(autoconfigureProcessor.isOptional()); + Dependency bom = dependenciesMap.get("spring-boot-dependencies"); + Assertions.assertEquals("import", bom.getScope()); + Assertions.assertFalse(bom.isOptional()); + } + } + +} diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/application.yml b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/application.yml new file mode 100644 index 000000000..aed3c1741 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/application.yml @@ -0,0 +1,5 @@ +spring: + datasource: + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:test;MODE=mysql;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE + username: sa diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/mapper/modulea/testa.xml b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/mapper/modulea/testa.xml new file mode 100644 index 000000000..410e4b569 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/mapper/modulea/testa.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/mapper/moduleb/testb.xml b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/mapper/moduleb/testb.xml new file mode 100644 index 000000000..410e4b569 --- /dev/null +++ b/spring-boot-starter/mybatis-plus-spring-boot3-starter/src/test/resources/mapper/moduleb/testb.xml @@ -0,0 +1,5 @@ + + + + +