From 37ae50f950770c8490c54ac9e3c4d703b09c50c0 Mon Sep 17 00:00:00 2001 From: qct Date: Sun, 26 Nov 2023 14:38:53 +0400 Subject: [PATCH 1/7] group mybatis modules --- spring-boot-mybatis/mybatis-generator/pom.xml | 84 ++++++++++++++ .../src/main/java/alex/Application.java | 0 .../src/main/java/alex/BaseMapper.java | 0 .../java/alex/BaseMapperGeneratorPlugin.java | 0 .../main/java/alex/dao/PersonExMapper.java | 0 .../src/main/java/alex/dao/PersonMapper.java | 0 .../src/main/java/alex/dao/SchoolMapper.java | 0 .../src/main/java/alex/dto/Person.java | 0 .../src/main/java/alex/dto/PersonExample.java | 0 .../src/main/java/alex/dto/School.java | 0 .../src/main/java/alex/dto/SchoolExample.java | 0 .../resources/alex/dao/PersonExMapper.xml | 0 .../main/resources/alex/dao/PersonMapper.xml | 0 .../main/resources/alex/dao/SchoolMapper.xml | 0 .../src/main/resources/application.yml | 0 .../main/resources/generatorConfig.properties | 0 .../src/main/resources/generatorConfig.xml | 0 .../java/alex/dao/PersonExMapperTest.java | 0 .../test/java/alex/dao/PersonMapperTest.java | 0 .../src/test/resources/application.yml | 0 .../src/test/resources/sql/data-h2.sql | 0 .../src/test/resources/sql/schema-h2.sql | 0 spring-boot-mybatis/mybatis-plus/pom.xml | 84 ++++++++++++++ .../src/main/java/alex/Application.java | 15 +++ .../src/main/resources/application.yml | 11 ++ spring-boot-mybatis/pom.xml | 104 +++++++----------- 26 files changed, 232 insertions(+), 66 deletions(-) create mode 100644 spring-boot-mybatis/mybatis-generator/pom.xml rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/Application.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/BaseMapper.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/BaseMapperGeneratorPlugin.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dao/PersonExMapper.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dao/PersonMapper.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dao/SchoolMapper.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dto/Person.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dto/PersonExample.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dto/School.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/java/alex/dto/SchoolExample.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/resources/alex/dao/PersonExMapper.xml (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/resources/alex/dao/PersonMapper.xml (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/resources/alex/dao/SchoolMapper.xml (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/resources/application.yml (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/resources/generatorConfig.properties (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/main/resources/generatorConfig.xml (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/test/java/alex/dao/PersonExMapperTest.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/test/java/alex/dao/PersonMapperTest.java (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/test/resources/application.yml (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/test/resources/sql/data-h2.sql (100%) rename spring-boot-mybatis/{ => mybatis-generator}/src/test/resources/sql/schema-h2.sql (100%) create mode 100644 spring-boot-mybatis/mybatis-plus/pom.xml create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml diff --git a/spring-boot-mybatis/mybatis-generator/pom.xml b/spring-boot-mybatis/mybatis-generator/pom.xml new file mode 100644 index 0000000..d6f5281 --- /dev/null +++ b/spring-boot-mybatis/mybatis-generator/pom.xml @@ -0,0 +1,84 @@ + + + 4.0.0 + + + alex + spring-boot-mybatis + 0.1.0-SNAPSHOT + ../pom.xml + + + mybatis-generator + 0.1.0-SNAPSHOT + jar + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + com.mysql + mysql-connector-j + + + org.mybatis.generator + mybatis-generator-core + 1.4.2 + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + com.h2database + h2 + 2.2.224 + test + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + org.mybatis.generator + mybatis-generator-maven-plugin + 1.4.2 + + spring-boot-mybatis-generator/src/main/resources/generatorConfig.xml + true + true + + + + com.mysql + mysql-connector-j + ${mysql.version} + + + alex + spring-boot-mybatis + 0.1.0-SNAPSHOT + + + + + + diff --git a/spring-boot-mybatis/src/main/java/alex/Application.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/Application.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java diff --git a/spring-boot-mybatis/src/main/java/alex/BaseMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapper.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/BaseMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapper.java diff --git a/spring-boot-mybatis/src/main/java/alex/BaseMapperGeneratorPlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapperGeneratorPlugin.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/BaseMapperGeneratorPlugin.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapperGeneratorPlugin.java diff --git a/spring-boot-mybatis/src/main/java/alex/dao/PersonExMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dao/PersonExMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.java diff --git a/spring-boot-mybatis/src/main/java/alex/dao/PersonMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dao/PersonMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java diff --git a/spring-boot-mybatis/src/main/java/alex/dao/SchoolMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dao/SchoolMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java diff --git a/spring-boot-mybatis/src/main/java/alex/dto/Person.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dto/Person.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java diff --git a/spring-boot-mybatis/src/main/java/alex/dto/PersonExample.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dto/PersonExample.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java diff --git a/spring-boot-mybatis/src/main/java/alex/dto/School.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dto/School.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java diff --git a/spring-boot-mybatis/src/main/java/alex/dto/SchoolExample.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java similarity index 100% rename from spring-boot-mybatis/src/main/java/alex/dto/SchoolExample.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java diff --git a/spring-boot-mybatis/src/main/resources/alex/dao/PersonExMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonExMapper.xml similarity index 100% rename from spring-boot-mybatis/src/main/resources/alex/dao/PersonExMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonExMapper.xml diff --git a/spring-boot-mybatis/src/main/resources/alex/dao/PersonMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonMapper.xml similarity index 100% rename from spring-boot-mybatis/src/main/resources/alex/dao/PersonMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonMapper.xml diff --git a/spring-boot-mybatis/src/main/resources/alex/dao/SchoolMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/SchoolMapper.xml similarity index 100% rename from spring-boot-mybatis/src/main/resources/alex/dao/SchoolMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/SchoolMapper.xml diff --git a/spring-boot-mybatis/src/main/resources/application.yml b/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml similarity index 100% rename from spring-boot-mybatis/src/main/resources/application.yml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml diff --git a/spring-boot-mybatis/src/main/resources/generatorConfig.properties b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties similarity index 100% rename from spring-boot-mybatis/src/main/resources/generatorConfig.properties rename to spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties diff --git a/spring-boot-mybatis/src/main/resources/generatorConfig.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml similarity index 100% rename from spring-boot-mybatis/src/main/resources/generatorConfig.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml diff --git a/spring-boot-mybatis/src/test/java/alex/dao/PersonExMapperTest.java b/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonExMapperTest.java similarity index 100% rename from spring-boot-mybatis/src/test/java/alex/dao/PersonExMapperTest.java rename to spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonExMapperTest.java diff --git a/spring-boot-mybatis/src/test/java/alex/dao/PersonMapperTest.java b/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java similarity index 100% rename from spring-boot-mybatis/src/test/java/alex/dao/PersonMapperTest.java rename to spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java diff --git a/spring-boot-mybatis/src/test/resources/application.yml b/spring-boot-mybatis/mybatis-generator/src/test/resources/application.yml similarity index 100% rename from spring-boot-mybatis/src/test/resources/application.yml rename to spring-boot-mybatis/mybatis-generator/src/test/resources/application.yml diff --git a/spring-boot-mybatis/src/test/resources/sql/data-h2.sql b/spring-boot-mybatis/mybatis-generator/src/test/resources/sql/data-h2.sql similarity index 100% rename from spring-boot-mybatis/src/test/resources/sql/data-h2.sql rename to spring-boot-mybatis/mybatis-generator/src/test/resources/sql/data-h2.sql diff --git a/spring-boot-mybatis/src/test/resources/sql/schema-h2.sql b/spring-boot-mybatis/mybatis-generator/src/test/resources/sql/schema-h2.sql similarity index 100% rename from spring-boot-mybatis/src/test/resources/sql/schema-h2.sql rename to spring-boot-mybatis/mybatis-generator/src/test/resources/sql/schema-h2.sql diff --git a/spring-boot-mybatis/mybatis-plus/pom.xml b/spring-boot-mybatis/mybatis-plus/pom.xml new file mode 100644 index 0000000..3985a69 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/pom.xml @@ -0,0 +1,84 @@ + + + 4.0.0 + + + alex + spring-boot-mybatis + 0.1.0-SNAPSHOT + ../pom.xml + + + mybatis-plus + 0.1.0-SNAPSHOT + jar + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + com.mysql + mysql-connector-j + + + org.mybatis.generator + mybatis-generator-core + 1.4.2 + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + com.h2database + h2 + 2.2.224 + test + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + org.mybatis.generator + mybatis-generator-maven-plugin + 1.4.2 + + spring-boot-mybatis-generator/src/main/resources/generatorConfig.xml + true + true + + + + com.mysql + mysql-connector-j + ${mysql.version} + + + alex + spring-boot-mybatis + 0.1.0-SNAPSHOT + + + + + + diff --git a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java new file mode 100644 index 0000000..5d21b30 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java @@ -0,0 +1,15 @@ +package alex; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** Created by qct on 2017/10/5. */ +@SpringBootApplication +@MapperScan +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } +} diff --git a/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml b/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml new file mode 100644 index 0000000..7e8e060 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml @@ -0,0 +1,11 @@ +debug: false +mybatis: + type-aliases-package: alex.dto +spring: + datasource: + driver-class-name: com.mysql.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowMultiQueries=true + username: root + password: root + main: + banner-mode: off \ No newline at end of file diff --git a/spring-boot-mybatis/pom.xml b/spring-boot-mybatis/pom.xml index dd7bb3d..52bc504 100644 --- a/spring-boot-mybatis/pom.xml +++ b/spring-boot-mybatis/pom.xml @@ -11,74 +11,46 @@ spring-boot-mybatis 0.1.0-SNAPSHOT - jar + pom - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 3.0.3 - - - com.mysql - mysql-connector-j - - - org.mybatis.generator - mybatis-generator-core - 1.4.2 - - - org.springframework.boot - spring-boot-starter-test - test - - - org.mybatis.spring.boot - mybatis-spring-boot-starter-test - 3.0.3 - test - - - com.h2database - h2 - 2.2.224 - test - - - + + mybatis-generator + mybatis-plus + - - - org.springframework.boot - spring-boot-maven-plugin - - exec - - - - org.mybatis.generator - mybatis-generator-maven-plugin - 1.4.2 - - src/main/resources/generatorConfig.xml - true - true - - - - com.mysql - mysql-connector-j - ${mysql.version} - - - alex - spring-boot-mybatis - 0.1.0-SNAPSHOT - - - - + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + org.mybatis.generator + mybatis-generator-maven-plugin + 1.4.2 + + spring-boot-mybatis-generator/src/main/resources/generatorConfig.xml + true + true + + + + com.mysql + mysql-connector-j + ${mysql.version} + + + alex + spring-boot-mybatis + 0.1.0-SNAPSHOT + + + + + From b76f77be01b767637e95494f5bb2f64ddf6fa853 Mon Sep 17 00:00:00 2001 From: qct Date: Sun, 26 Nov 2023 18:26:09 +0400 Subject: [PATCH 2/7] Init DDL and DML --- spring-boot-mybatis/mybatis-generator/pom.xml | 27 +++++++------- .../src/main/java/alex/Application.java | 8 ++++- .../alex/dao/PersonExMapper.xml | 0 .../alex/dao/PersonMapper.xml | 0 .../alex/dao/SchoolMapper.xml | 0 .../src/main/resources/application.yml | 22 ++++++++---- .../main/resources/generatorConfig.properties | 10 +++--- .../{test => main}/resources/sql/data-h2.sql | 0 .../resources/sql/schema-h2.sql | 0 .../src/test/resources/application.yml | 12 ------- spring-boot-mybatis/pom.xml | 35 ------------------- 11 files changed, 43 insertions(+), 71 deletions(-) rename spring-boot-mybatis/mybatis-generator/src/main/{resources => java}/alex/dao/PersonExMapper.xml (100%) rename spring-boot-mybatis/mybatis-generator/src/main/{resources => java}/alex/dao/PersonMapper.xml (100%) rename spring-boot-mybatis/mybatis-generator/src/main/{resources => java}/alex/dao/SchoolMapper.xml (100%) rename spring-boot-mybatis/mybatis-generator/src/{test => main}/resources/sql/data-h2.sql (100%) rename spring-boot-mybatis/mybatis-generator/src/{test => main}/resources/sql/schema-h2.sql (100%) delete mode 100644 spring-boot-mybatis/mybatis-generator/src/test/resources/application.yml diff --git a/spring-boot-mybatis/mybatis-generator/pom.xml b/spring-boot-mybatis/mybatis-generator/pom.xml index d6f5281..ce49cee 100644 --- a/spring-boot-mybatis/mybatis-generator/pom.xml +++ b/spring-boot-mybatis/mybatis-generator/pom.xml @@ -13,16 +13,20 @@ 0.1.0-SNAPSHOT jar + + 2.2.224 + + + + org.springframework.boot + spring-boot-starter-web + org.mybatis.spring.boot mybatis-spring-boot-starter 3.0.3 - - com.mysql - mysql-connector-j - org.mybatis.generator mybatis-generator-core @@ -39,12 +43,11 @@ 3.0.3 test + com.h2database h2 - 2.2.224 - test - + ${h2.version} @@ -62,19 +65,19 @@ mybatis-generator-maven-plugin 1.4.2 - spring-boot-mybatis-generator/src/main/resources/generatorConfig.xml + ${project.basedir}/src/main/resources/generatorConfig.xml true true - com.mysql - mysql-connector-j - ${mysql.version} + com.h2database + h2 + ${h2.version} alex - spring-boot-mybatis + mybatis-generator 0.1.0-SNAPSHOT diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java index eb0515c..756e6db 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java @@ -1,15 +1,21 @@ package alex; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** Created by qct on 2017/10/5. */ @SpringBootApplication @MapperScan("alex.dao") -public class Application { +public class Application implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(Application.class, args); } + + @Override + public void run(String... args) throws Exception { + Thread.sleep(1000 * 60 * 60); + } } diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonExMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.xml similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonExMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.xml diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/PersonMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/SchoolMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/alex/dao/SchoolMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml b/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml index 7e8e060..97646f3 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml +++ b/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml @@ -1,11 +1,21 @@ -debug: false mybatis: type-aliases-package: alex.dto + mapper-locations: classpath:alex/dao/*.xml spring: datasource: - driver-class-name: com.mysql.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowMultiQueries=true - username: root - password: root + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DB_CLOSE_DELAY=-1 + username: sa + password: sa + sql: + init: + mode: always + schema-locations: classpath:sql/schema-h2.sql + data-locations: classpath:sql/data-h2.sql + username: sa + password: sa main: - banner-mode: off \ No newline at end of file + banner-mode: off + h2: + console: + enabled: true \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties index c80fba7..4a10209 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties +++ b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties @@ -1,11 +1,11 @@ -jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true -jdbc.user=root -jdbc.password=root +jdbc.driver=org.h2.Driver +jdbc.url=jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE; +jdbc.user=sa +jdbc.password=sa model.target.package=alex.dto model.target.project=src/main/java dao.target.package=alex.dao dao.target.project=src/main/java mapper.target.package=alex.dao -mapper.target.project=src/main/resources +mapper.target.project=src/main/java diff --git a/spring-boot-mybatis/mybatis-generator/src/test/resources/sql/data-h2.sql b/spring-boot-mybatis/mybatis-generator/src/main/resources/sql/data-h2.sql similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/test/resources/sql/data-h2.sql rename to spring-boot-mybatis/mybatis-generator/src/main/resources/sql/data-h2.sql diff --git a/spring-boot-mybatis/mybatis-generator/src/test/resources/sql/schema-h2.sql b/spring-boot-mybatis/mybatis-generator/src/main/resources/sql/schema-h2.sql similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/test/resources/sql/schema-h2.sql rename to spring-boot-mybatis/mybatis-generator/src/main/resources/sql/schema-h2.sql diff --git a/spring-boot-mybatis/mybatis-generator/src/test/resources/application.yml b/spring-boot-mybatis/mybatis-generator/src/test/resources/application.yml deleted file mode 100644 index 661a556..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/test/resources/application.yml +++ /dev/null @@ -1,12 +0,0 @@ -spring: - datasource: - url: jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE; - username: sa - password: sa - driver-class-name: org.h2.Driver - sql: - init: - schema-locations: classpath:sql/schema-h2.sql - data-locations: classpath:sql/data-h2.sql -mybatis: - mapper-locations: classpath:mapper/*.xml \ No newline at end of file diff --git a/spring-boot-mybatis/pom.xml b/spring-boot-mybatis/pom.xml index 52bc504..cb42bf9 100644 --- a/spring-boot-mybatis/pom.xml +++ b/spring-boot-mybatis/pom.xml @@ -18,39 +18,4 @@ mybatis-plus - - - - - org.springframework.boot - spring-boot-maven-plugin - - exec - - - - org.mybatis.generator - mybatis-generator-maven-plugin - 1.4.2 - - spring-boot-mybatis-generator/src/main/resources/generatorConfig.xml - true - true - - - - com.mysql - mysql-connector-j - ${mysql.version} - - - alex - spring-boot-mybatis - 0.1.0-SNAPSHOT - - - - - - From 83f2e7405df55b019eccd0cefa44152bef1e3cde Mon Sep 17 00:00:00 2001 From: qct Date: Sun, 26 Nov 2023 21:19:02 +0400 Subject: [PATCH 3/7] Regenerate --- pom.xml | 5 + spring-boot-mybatis/mybatis-generator/pom.xml | 16 +- .../src/main/java/alex/Application.java | 23 +- .../src/main/java/alex/dao/PersonMapper.java | 5 +- .../src/main/java/alex/dao/PersonMapper.xml | 522 +++++++++--------- .../src/main/java/alex/dao/SchoolMapper.java | 5 +- .../src/main/java/alex/dao/SchoolMapper.xml | 460 +++++++-------- .../src/main/java/alex/dto/Person.java | 171 +++--- .../src/main/java/alex/dto/PersonExample.java | 192 ++++--- .../src/main/java/alex/dto/School.java | 91 +-- .../src/main/java/alex/dto/SchoolExample.java | 192 ++++--- .../src/main/resources/application.yml | 6 +- .../main/resources/generatorConfig.properties | 6 +- .../src/main/resources/generatorConfig.xml | 10 +- 14 files changed, 880 insertions(+), 824 deletions(-) diff --git a/pom.xml b/pom.xml index d91db11..a6faf71 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,11 @@ + + org.projectlombok + lombok + 1.18.30 + com.google.guava guava diff --git a/spring-boot-mybatis/mybatis-generator/pom.xml b/spring-boot-mybatis/mybatis-generator/pom.xml index ce49cee..2c20fc0 100644 --- a/spring-boot-mybatis/mybatis-generator/pom.xml +++ b/spring-boot-mybatis/mybatis-generator/pom.xml @@ -32,6 +32,16 @@ mybatis-generator-core 1.4.2 + + com.h2database + h2 + ${h2.version} + + + org.projectlombok + lombok + + org.springframework.boot spring-boot-starter-test @@ -43,12 +53,6 @@ 3.0.3 test - - - com.h2database - h2 - ${h2.version} - diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java index 756e6db..8d26b55 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java @@ -1,13 +1,24 @@ package alex; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import lombok.extern.java.Log; +import org.mybatis.generator.api.MyBatisGenerator; +import org.mybatis.generator.api.VerboseProgressCallback; +import org.mybatis.generator.config.Configuration; +import org.mybatis.generator.config.xml.ConfigurationParser; +import org.mybatis.generator.internal.DefaultShellCallback; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.util.ResourceUtils; /** Created by qct on 2017/10/5. */ @SpringBootApplication @MapperScan("alex.dao") +@Log public class Application implements CommandLineRunner { public static void main(String[] args) { @@ -16,6 +27,16 @@ public static void main(String[] args) { @Override public void run(String... args) throws Exception { - Thread.sleep(1000 * 60 * 60); + List warnings = new ArrayList<>(); + boolean overwrite = true; + + File configFile = ResourceUtils.getFile("classpath:generatorConfig.xml"); + ConfigurationParser cp = new ConfigurationParser(warnings); + Configuration config = cp.parseConfiguration(configFile); + DefaultShellCallback callback = new DefaultShellCallback(overwrite); + MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); + myBatisGenerator.generate(new VerboseProgressCallback()); + + warnings.forEach(log::warning); } } diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java index d00047b..b20f2bb 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java @@ -3,5 +3,8 @@ import alex.BaseMapper; import alex.dto.Person; import alex.dto.PersonExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; -public interface PersonMapper extends BaseMapper {} +public interface PersonMapper extends BaseMapper { +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml index df9d40f..caa9baf 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml @@ -1,267 +1,271 @@ - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - id, name, address, age - - - - - - DELETE FROM person - WHERE id = #{id,jdbcType=INTEGER} - - - - delete from person - - + - - - - insert into person (name, address, age - ) - values (#{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER} - ) - - - - insert into person - - - name, - - - address, - - - age, - - - - - #{name,jdbcType=VARCHAR}, - - - #{address,jdbcType=VARCHAR}, - - - #{age,jdbcType=INTEGER}, - - - - - - - update person - - - id = #{record.id,jdbcType=INTEGER}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - address = #{record.address,jdbcType=VARCHAR}, - - - age = #{record.age,jdbcType=INTEGER}, - - - - - - - - - update person - set id = #{record.id,jdbcType=INTEGER}, - name = #{record.name,jdbcType=VARCHAR}, - address = #{record.address,jdbcType=VARCHAR}, - age = #{record.age,jdbcType=INTEGER} - - + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + - - - - update person - - - name = #{name,jdbcType=VARCHAR}, - - - address = #{address,jdbcType=VARCHAR}, - - - age = #{age,jdbcType=INTEGER}, - - - where id = #{id,jdbcType=INTEGER} - - - - UPDATE person - SET name = #{name,jdbcType=VARCHAR}, + + + + + + id, name, address, age + + + + + + delete from testdb.public.person + where id = #{id,jdbcType=INTEGER} + + + + delete from testdb.public.person + + + + + + + + SELECT LAST_INSERT_ID() + + insert into testdb.public.person (name, address, age + ) + values (#{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER} + ) + + + + + SELECT LAST_INSERT_ID() + + insert into testdb.public.person + + + name, + + + address, + + + age, + + + + + #{name,jdbcType=VARCHAR}, + + + #{address,jdbcType=VARCHAR}, + + + #{age,jdbcType=INTEGER}, + + + + + + + update testdb.public.person + + + id = #{row.id,jdbcType=INTEGER}, + + + name = #{row.name,jdbcType=VARCHAR}, + + + address = #{row.address,jdbcType=VARCHAR}, + + + age = #{row.age,jdbcType=INTEGER}, + + + + + + + + + update testdb.public.person + set id = #{row.id,jdbcType=INTEGER}, + name = #{row.name,jdbcType=VARCHAR}, + address = #{row.address,jdbcType=VARCHAR}, + age = #{row.age,jdbcType=INTEGER} + + + + + + + update testdb.public.person + + + name = #{name,jdbcType=VARCHAR}, + + address = #{address,jdbcType=VARCHAR}, - age = #{age,jdbcType=INTEGER} - WHERE id = #{id,jdbcType=INTEGER} - + + + age = #{age,jdbcType=INTEGER}, + + + where id = #{id,jdbcType=INTEGER} + + + + update testdb.public.person + set name = #{name,jdbcType=VARCHAR}, + address = #{address,jdbcType=VARCHAR}, + age = #{age,jdbcType=INTEGER} + where id = #{id,jdbcType=INTEGER} + \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java index 41e0ad6..db439dc 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java @@ -3,5 +3,8 @@ import alex.BaseMapper; import alex.dto.School; import alex.dto.SchoolExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; -public interface SchoolMapper extends BaseMapper {} +public interface SchoolMapper extends BaseMapper { +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml index a42bacc..ce0d8b4 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml @@ -1,235 +1,239 @@ - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - id, name - - - - - - DELETE FROM school - WHERE id = #{id,jdbcType=INTEGER} - - - - delete from school - - + - - - - insert into school (name) - values (#{name,jdbcType=VARCHAR}) - - - - insert into school - - - name, - - - - - #{name,jdbcType=VARCHAR}, - - - - - - - update school - - - id = #{record.id,jdbcType=INTEGER}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - - - - - - - update school - set id = #{record.id,jdbcType=INTEGER}, - name = #{record.name,jdbcType=VARCHAR} - - + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + - - - - update school - - - name = #{name,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - - UPDATE school - SET name = #{name,jdbcType=VARCHAR} - WHERE id = #{id,jdbcType=INTEGER} - + + + + + + id, name + + + + + + delete from testdb.public.school + where id = #{id,jdbcType=INTEGER} + + + + delete from testdb.public.school + + + + + + + + SELECT LAST_INSERT_ID() + + insert into testdb.public.school (name) + values (#{name,jdbcType=VARCHAR}) + + + + + SELECT LAST_INSERT_ID() + + insert into testdb.public.school + + + name, + + + + + #{name,jdbcType=VARCHAR}, + + + + + + + update testdb.public.school + + + id = #{row.id,jdbcType=INTEGER}, + + + name = #{row.name,jdbcType=VARCHAR}, + + + + + + + + + update testdb.public.school + set id = #{row.id,jdbcType=INTEGER}, + name = #{row.name,jdbcType=VARCHAR} + + + + + + + update testdb.public.school + + + name = #{name,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update testdb.public.school + set name = #{name,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java index c040bf7..bd62b73 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java @@ -1,66 +1,59 @@ package alex.dto; public class Person { - /** - * This field was generated by MyBatis Generator. This field corresponds to the database column - * person.id * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * This field was generated by MyBatis Generator. + * This field corresponds to the database column testdb.public.person.id + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ private Integer id; /** - * This field was generated by MyBatis Generator. This field corresponds to the database column - * person.name * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * This field was generated by MyBatis Generator. + * This field corresponds to the database column testdb.public.person.name + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ private String name; /** - * This field was generated by MyBatis Generator. This field corresponds to the database column - * person.address * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * This field was generated by MyBatis Generator. + * This field corresponds to the database column testdb.public.person.address + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ private String address; /** - * This field was generated by MyBatis Generator. This field corresponds to the database column - * person.age * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * This field was generated by MyBatis Generator. + * This field corresponds to the database column testdb.public.person.age + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ private Integer age; /** - * This method was generated by MyBatis Generator. This method returns the value of the database - * column person.id + * This method was generated by MyBatis Generator. + * This method returns the value of the database column testdb.public.person.id + * + * @return the value of testdb.public.person.id * - * @return the value of person.id - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Integer getId() { return id; } /** - * This method was generated by MyBatis Generator. This method sets the value of the database - * column person.id - * - * @param id the value for person.id - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Person withId(Integer id) { this.setId(id); @@ -68,32 +61,34 @@ public Person withId(Integer id) { } /** - * This method was generated by MyBatis Generator. This method returns the value of the database - * column person.name + * This method was generated by MyBatis Generator. + * This method sets the value of the database column testdb.public.person.id * - * @return the value of person.name - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @param id the value for testdb.public.person.id + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public String getName() { - return name; + public void setId(Integer id) { + this.id = id; } /** - * This method was generated by MyBatis Generator. This method sets the value of the database - * column person.name + * This method was generated by MyBatis Generator. + * This method returns the value of the database column testdb.public.person.name + * + * @return the value of testdb.public.person.name * - * @param name the value for person.name - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setName(String name) { - this.name = name == null ? null : name.trim(); + public String getName() { + return name; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Person withName(String name) { this.setName(name); @@ -101,32 +96,34 @@ public Person withName(String name) { } /** - * This method was generated by MyBatis Generator. This method returns the value of the database - * column person.address + * This method was generated by MyBatis Generator. + * This method sets the value of the database column testdb.public.person.name * - * @return the value of person.address - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @param name the value for testdb.public.person.name + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public String getAddress() { - return address; + public void setName(String name) { + this.name = name == null ? null : name.trim(); } /** - * This method was generated by MyBatis Generator. This method sets the value of the database - * column person.address + * This method was generated by MyBatis Generator. + * This method returns the value of the database column testdb.public.person.address * - * @param address the value for person.address - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @return the value of testdb.public.person.address + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setAddress(String address) { - this.address = address == null ? null : address.trim(); + public String getAddress() { + return address; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Person withAddress(String address) { this.setAddress(address); @@ -134,32 +131,34 @@ public Person withAddress(String address) { } /** - * This method was generated by MyBatis Generator. This method returns the value of the database - * column person.age + * This method was generated by MyBatis Generator. + * This method sets the value of the database column testdb.public.person.address * - * @return the value of person.age - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @param address the value for testdb.public.person.address + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public Integer getAge() { - return age; + public void setAddress(String address) { + this.address = address == null ? null : address.trim(); } /** - * This method was generated by MyBatis Generator. This method sets the value of the database - * column person.age + * This method was generated by MyBatis Generator. + * This method returns the value of the database column testdb.public.person.age + * + * @return the value of testdb.public.person.age * - * @param age the value for person.age - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setAge(Integer age) { - this.age = age; + public Integer getAge() { + return age; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Person withAge(Integer age) { this.setAge(age); @@ -167,10 +166,22 @@ public Person withAge(Integer age) { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method sets the value of the database column testdb.public.person.age + * + * @param age the value for testdb.public.person.age + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 + */ + public void setAge(Integer age) { + this.age = age; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ @Override public String toString() { @@ -185,4 +196,4 @@ public String toString() { sb.append("]"); return sb.toString(); } -} +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java index 6423b2b..2561f84 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java @@ -4,106 +4,105 @@ import java.util.List; public class PersonExample { - /** - * This field was generated by MyBatis Generator. This field corresponds to the database table - * person + * This field was generated by MyBatis Generator. + * This field corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected String orderByClause; /** - * This field was generated by MyBatis Generator. This field corresponds to the database table - * person + * This field was generated by MyBatis Generator. + * This field corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected boolean distinct; /** - * This field was generated by MyBatis Generator. This field corresponds to the database table - * person + * This field was generated by MyBatis Generator. + * This field corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected List oredCriteria; /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public PersonExample() { - oredCriteria = new ArrayList(); + oredCriteria = new ArrayList<>(); } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public String getOrderByClause() { - return orderByClause; + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; + public String getOrderByClause() { + return orderByClause; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public boolean isDistinct() { - return distinct; + public void setDistinct(boolean distinct) { + this.distinct = distinct; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setDistinct(boolean distinct) { - this.distinct = distinct; + public boolean isDistinct() { + return distinct; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public List getOredCriteria() { return oredCriteria; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public void or(Criteria criteria) { oredCriteria.add(criteria); } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -112,10 +111,10 @@ public Criteria or() { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -126,10 +125,10 @@ public Criteria createCriteria() { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -137,10 +136,10 @@ protected Criteria createCriteriaInternal() { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * person + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public void clear() { oredCriteria.clear(); @@ -149,18 +148,17 @@ public void clear() { } /** - * This class was generated by MyBatis Generator. This class corresponds to the database table - * person + * This class was generated by MyBatis Generator. + * This class corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected abstract static class GeneratedCriteria { - protected List criteria; protected GeneratedCriteria() { super(); - criteria = new ArrayList(); + criteria = new ArrayList<>(); } public boolean isValid() { @@ -458,26 +456,24 @@ public Criteria andAgeNotBetween(Integer value1, Integer value2) { } /** - * This class was generated by MyBatis Generator. This class corresponds to the database table - * person + * This class was generated by MyBatis Generator. + * This class corresponds to the database table testdb.public.person * - * @mbg.generated do_not_delete_during_merge Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated do_not_delete_during_merge Sun Nov 26 21:15:27 GST 2023 */ public static class Criteria extends GeneratedCriteria { - protected Criteria() { super(); } } /** - * This class was generated by MyBatis Generator. This class corresponds to the database table - * person + * This class was generated by MyBatis Generator. + * This class corresponds to the database table testdb.public.person * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public static class Criterion { - private String condition; private Object value; @@ -494,6 +490,38 @@ public static class Criterion { private String typeHandler; + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + protected Criterion(String condition) { super(); this.condition = condition; @@ -529,37 +557,5 @@ protected Criterion(String condition, Object value, Object secondValue, String t protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } } -} +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java index 38cc2e5..1549ccb 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java @@ -1,94 +1,99 @@ package alex.dto; public class School { - /** - * This field was generated by MyBatis Generator. This field corresponds to the database column - * school.id * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * This field was generated by MyBatis Generator. + * This field corresponds to the database column testdb.public.school.id + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ private Integer id; /** - * This field was generated by MyBatis Generator. This field corresponds to the database column - * school.name * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * This field was generated by MyBatis Generator. + * This field corresponds to the database column testdb.public.school.name + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ private String name; /** - * This method was generated by MyBatis Generator. This method returns the value of the database - * column school.id + * This method was generated by MyBatis Generator. + * This method returns the value of the database column testdb.public.school.id + * + * @return the value of testdb.public.school.id * - * @return the value of school.id - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Integer getId() { return id; } /** - * This method was generated by MyBatis Generator. This method sets the value of the database - * column school.id + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @param id the value for school.id - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setId(Integer id) { - this.id = id; + public School withId(Integer id) { + this.setId(id); + return this; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method sets the value of the database column testdb.public.school.id * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @param id the value for testdb.public.school.id + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public School withId(Integer id) { - this.setId(id); - return this; + public void setId(Integer id) { + this.id = id; } /** - * This method was generated by MyBatis Generator. This method returns the value of the database - * column school.name + * This method was generated by MyBatis Generator. + * This method returns the value of the database column testdb.public.school.name + * + * @return the value of testdb.public.school.name * - * @return the value of school.name - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public String getName() { return name; } /** - * This method was generated by MyBatis Generator. This method sets the value of the database - * column school.name + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @param name the value for school.name - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setName(String name) { - this.name = name == null ? null : name.trim(); + public School withName(String name) { + this.setName(name); + return this; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method sets the value of the database column testdb.public.school.name * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @param name the value for testdb.public.school.name + * + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public School withName(String name) { - this.setName(name); - return this; + public void setName(String name) { + this.name = name == null ? null : name.trim(); } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ @Override public String toString() { @@ -101,4 +106,4 @@ public String toString() { sb.append("]"); return sb.toString(); } -} +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java index 79a0235..413d218 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java +++ b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java @@ -4,106 +4,105 @@ import java.util.List; public class SchoolExample { - /** - * This field was generated by MyBatis Generator. This field corresponds to the database table - * school + * This field was generated by MyBatis Generator. + * This field corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected String orderByClause; /** - * This field was generated by MyBatis Generator. This field corresponds to the database table - * school + * This field was generated by MyBatis Generator. + * This field corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected boolean distinct; /** - * This field was generated by MyBatis Generator. This field corresponds to the database table - * school + * This field was generated by MyBatis Generator. + * This field corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected List oredCriteria; /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public SchoolExample() { - oredCriteria = new ArrayList(); + oredCriteria = new ArrayList<>(); } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public String getOrderByClause() { - return orderByClause; + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; + public String getOrderByClause() { + return orderByClause; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public boolean isDistinct() { - return distinct; + public void setDistinct(boolean distinct) { + this.distinct = distinct; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ - public void setDistinct(boolean distinct) { - this.distinct = distinct; + public boolean isDistinct() { + return distinct; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public List getOredCriteria() { return oredCriteria; } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public void or(Criteria criteria) { oredCriteria.add(criteria); } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -112,10 +111,10 @@ public Criteria or() { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -126,10 +125,10 @@ public Criteria createCriteria() { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -137,10 +136,10 @@ protected Criteria createCriteriaInternal() { } /** - * This method was generated by MyBatis Generator. This method corresponds to the database table - * school + * This method was generated by MyBatis Generator. + * This method corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public void clear() { oredCriteria.clear(); @@ -149,18 +148,17 @@ public void clear() { } /** - * This class was generated by MyBatis Generator. This class corresponds to the database table - * school + * This class was generated by MyBatis Generator. + * This class corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ protected abstract static class GeneratedCriteria { - protected List criteria; protected GeneratedCriteria() { super(); - criteria = new ArrayList(); + criteria = new ArrayList<>(); } public boolean isValid() { @@ -328,26 +326,24 @@ public Criteria andNameNotBetween(String value1, String value2) { } /** - * This class was generated by MyBatis Generator. This class corresponds to the database table - * school + * This class was generated by MyBatis Generator. + * This class corresponds to the database table testdb.public.school * - * @mbg.generated do_not_delete_during_merge Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated do_not_delete_during_merge Sun Nov 26 21:15:27 GST 2023 */ public static class Criteria extends GeneratedCriteria { - protected Criteria() { super(); } } /** - * This class was generated by MyBatis Generator. This class corresponds to the database table - * school + * This class was generated by MyBatis Generator. + * This class corresponds to the database table testdb.public.school * - * @mbg.generated Fri Oct 06 09:41:17 CST 2017 + * @mbg.generated Sun Nov 26 21:15:27 GST 2023 */ public static class Criterion { - private String condition; private Object value; @@ -364,6 +360,38 @@ public static class Criterion { private String typeHandler; + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + protected Criterion(String condition) { super(); this.condition = condition; @@ -399,37 +427,5 @@ protected Criterion(String condition, Object value, Object secondValue, String t protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } } -} +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml b/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml index 97646f3..bd8b32b 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml +++ b/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml @@ -18,4 +18,8 @@ spring: banner-mode: off h2: console: - enabled: true \ No newline at end of file + enabled: true + +logging: + level: + org.mybatis.generator: trace diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties index 4a10209..2a981fc 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties +++ b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties @@ -3,9 +3,9 @@ jdbc.url=jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_I jdbc.user=sa jdbc.password=sa model.target.package=alex.dto -model.target.project=src/main/java +model.target.project=./spring-boot-mybatis/mybatis-generator dao.target.package=alex.dao -dao.target.project=src/main/java +dao.target.project=./spring-boot-mybatis/mybatis-generator mapper.target.package=alex.dao -mapper.target.project=src/main/java +mapper.target.project=./spring-boot-mybatis/mybatis-generator diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml index 934211d..2b8459b 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml +++ b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml @@ -25,7 +25,7 @@ + targetProject="${model.target.project}/src/main/java"> @@ -34,17 +34,17 @@ + targetProject="${mapper.target.project}/src/main/java"/> - - +
- +
From 211a770dc6702b1bd3960fd9bf8b71d8a3f4d6e2 Mon Sep 17 00:00:00 2001 From: qct Date: Sun, 26 Nov 2023 23:15:46 +0400 Subject: [PATCH 4/7] Regenerate --- .../{mybatis-generator => generator}/pom.xml | 9 +- .../main/java/alex/GeneratorApplication.java} | 13 +- .../main/java/alex/dao/PersonExMapper.java | 0 .../src/main/java/alex/dao/PersonExMapper.xml | 0 .../src/main/java/alex/dao/PersonMapper.java | 53 ++ .../src/main/java/alex/dao/PersonMapper.xml | 122 ++++ .../src/main/java/alex/dao/SchoolMapper.java | 53 ++ .../src/main/java/alex/dao/SchoolMapper.xml | 98 +++ .../src/main/java/alex/dto/Person.java | 48 ++ .../src/main/java/alex/dto/School.java | 30 + .../alex/plugin/DisableExamplePlugin.java | 172 ++++++ .../main/java/alex/plugin/LombokPlugin.java | 57 ++ .../java/alex/plugin/MapperPlusPlugin.java | 330 +++++++++++ .../main/java/alex/plugin/NullSafePlugin.java | 173 ++++++ .../main/java/alex/plugin/OptionalPlugin.java | 49 ++ .../src/main/resources/application.yml | 7 +- .../main/resources/generatorConfig.properties | 6 +- .../src/main/resources/generatorConfig.xml | 14 +- .../src/main/resources/sql/data-h2.sql | 0 .../src/main/resources/sql/schema-h2.sql | 0 .../java/alex/dao/PersonExMapperTest.java | 0 .../test/java/alex/dao/PersonMapperTest.java | 8 - .../src/main/java/alex/BaseMapper.java | 31 - .../java/alex/BaseMapperGeneratorPlugin.java | 39 -- .../src/main/java/alex/dao/PersonMapper.java | 10 - .../src/main/java/alex/dao/PersonMapper.xml | 271 --------- .../src/main/java/alex/dao/SchoolMapper.java | 10 - .../src/main/java/alex/dao/SchoolMapper.xml | 239 -------- .../src/main/java/alex/dto/Person.java | 199 ------- .../src/main/java/alex/dto/PersonExample.java | 561 ------------------ .../src/main/java/alex/dto/School.java | 109 ---- .../src/main/java/alex/dto/SchoolExample.java | 431 -------------- spring-boot-mybatis/mybatis-plus/pom.xml | 2 +- spring-boot-mybatis/pom.xml | 2 +- 34 files changed, 1214 insertions(+), 1932 deletions(-) rename spring-boot-mybatis/{mybatis-generator => generator}/pom.xml (90%) rename spring-boot-mybatis/{mybatis-generator/src/main/java/alex/Application.java => generator/src/main/java/alex/GeneratorApplication.java} (79%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/java/alex/dao/PersonExMapper.java (100%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/java/alex/dao/PersonExMapper.xml (100%) create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/dto/School.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/plugin/DisableExamplePlugin.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/plugin/LombokPlugin.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/plugin/MapperPlusPlugin.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/plugin/NullSafePlugin.java create mode 100644 spring-boot-mybatis/generator/src/main/java/alex/plugin/OptionalPlugin.java rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/resources/application.yml (84%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/resources/generatorConfig.properties (57%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/resources/generatorConfig.xml (80%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/resources/sql/data-h2.sql (100%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/main/resources/sql/schema-h2.sql (100%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/test/java/alex/dao/PersonExMapperTest.java (100%) rename spring-boot-mybatis/{mybatis-generator => generator}/src/test/java/alex/dao/PersonMapperTest.java (79%) delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapper.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapperGeneratorPlugin.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java delete mode 100644 spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java diff --git a/spring-boot-mybatis/mybatis-generator/pom.xml b/spring-boot-mybatis/generator/pom.xml similarity index 90% rename from spring-boot-mybatis/mybatis-generator/pom.xml rename to spring-boot-mybatis/generator/pom.xml index 2c20fc0..04d51c7 100644 --- a/spring-boot-mybatis/mybatis-generator/pom.xml +++ b/spring-boot-mybatis/generator/pom.xml @@ -9,7 +9,7 @@ ../pom.xml - mybatis-generator + generator 0.1.0-SNAPSHOT jar @@ -18,10 +18,6 @@ - - org.springframework.boot - spring-boot-starter-web - org.mybatis.spring.boot mybatis-spring-boot-starter @@ -60,9 +56,6 @@ org.springframework.boot spring-boot-maven-plugin - - exec - org.mybatis.generator diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java b/spring-boot-mybatis/generator/src/main/java/alex/GeneratorApplication.java similarity index 79% rename from spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java rename to spring-boot-mybatis/generator/src/main/java/alex/GeneratorApplication.java index 8d26b55..449edcd 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/Application.java +++ b/spring-boot-mybatis/generator/src/main/java/alex/GeneratorApplication.java @@ -10,6 +10,7 @@ import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -19,14 +20,22 @@ @SpringBootApplication @MapperScan("alex.dao") @Log -public class Application implements CommandLineRunner { +public class GeneratorApplication implements CommandLineRunner { + + @Value("${generator.generate}") + boolean generate; public static void main(String[] args) { - SpringApplication.run(Application.class, args); + SpringApplication.run(GeneratorApplication.class, args); } @Override public void run(String... args) throws Exception { + if (!generate) { + log.info("generator.generate is false, skip generator"); + return; + } + List warnings = new ArrayList<>(); boolean overwrite = true; diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.java b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.java similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.java rename to spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.java diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.xml b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.xml similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.xml rename to spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.xml diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java new file mode 100644 index 0000000..277178a --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java @@ -0,0 +1,53 @@ +package alex.dao; + +import alex.dto.Person; + +public interface PersonMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table person + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int deleteByPrimaryKey(Integer id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table person + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int insert(Person row); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table person + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int insertSelective(Person row); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table person + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + Person selectByPrimaryKey(Integer id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table person + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int updateByPrimaryKeySelective(Person row); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table person + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int updateByPrimaryKey(Person row); +} \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml new file mode 100644 index 0000000..109eb71 --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + id, name, address, age + + + + + delete from person + where id = #{id,jdbcType=INTEGER} + + + + + SELECT LAST_INSERT_ID() + + insert into person (name, address, age + ) + values (#{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER} + ) + + + + + SELECT LAST_INSERT_ID() + + insert into person + + + name, + + + address, + + + age, + + + + + #{name,jdbcType=VARCHAR}, + + + #{address,jdbcType=VARCHAR}, + + + #{age,jdbcType=INTEGER}, + + + + + + update person + + + name = #{name,jdbcType=VARCHAR}, + + + address = #{address,jdbcType=VARCHAR}, + + + age = #{age,jdbcType=INTEGER}, + + + where id = #{id,jdbcType=INTEGER} + + + + update person + set name = #{name,jdbcType=VARCHAR}, + address = #{address,jdbcType=VARCHAR}, + age = #{age,jdbcType=INTEGER} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java b/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java new file mode 100644 index 0000000..9ef0bec --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java @@ -0,0 +1,53 @@ +package alex.dao; + +import alex.dto.School; + +public interface SchoolMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table school + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int deleteByPrimaryKey(Integer id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table school + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int insert(School row); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table school + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int insertSelective(School row); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table school + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + School selectByPrimaryKey(Integer id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table school + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int updateByPrimaryKeySelective(School row); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table school + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + int updateByPrimaryKey(School row); +} \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml b/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml new file mode 100644 index 0000000..673a547 --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + id, name + + + + + delete from school + where id = #{id,jdbcType=INTEGER} + + + + + SELECT LAST_INSERT_ID() + + insert into school (name) + values (#{name,jdbcType=VARCHAR}) + + + + + SELECT LAST_INSERT_ID() + + insert into school + + + name, + + + + + #{name,jdbcType=VARCHAR}, + + + + + + update school + + + name = #{name,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update school + set name = #{name,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java b/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java new file mode 100644 index 0000000..18658be --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java @@ -0,0 +1,48 @@ +package alex.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Person { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.id + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + private Integer id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.name + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + private String name; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.address + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + private String address; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.age + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + private Integer age; +} \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java b/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java new file mode 100644 index 0000000..e91a0d0 --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java @@ -0,0 +1,30 @@ +package alex.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class School { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column school.id + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + private Integer id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column school.name + * + * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + */ + private String name; +} \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/DisableExamplePlugin.java b/spring-boot-mybatis/generator/src/main/java/alex/plugin/DisableExamplePlugin.java new file mode 100644 index 0000000..7b79ff6 --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/plugin/DisableExamplePlugin.java @@ -0,0 +1,172 @@ +package alex.plugin; + +import java.util.List; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.java.Interface; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.TopLevelClass; +import org.mybatis.generator.api.dom.xml.XmlElement; + +/** + *

Created by qct on 2023/11/26. + */ +public class DisableExamplePlugin extends PluginAdapter { + + @Override + public boolean validate(List warnings) { + return true; + } + + @Override + public boolean clientCountByExampleMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean clientDeleteByExampleMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + + } + + @Override + public boolean clientSelectByExampleWithBLOBsMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean clientSelectByExampleWithoutBLOBsMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean clientUpdateByExampleSelectiveMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean clientUpdateByExampleWithBLOBsMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean clientUpdateByExampleWithoutBLOBsMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapCountByExampleElementGenerated(XmlElement element, IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapDeleteByExampleElementGenerated(XmlElement element, IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapExampleWhereClauseElementGenerated(XmlElement element, IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapSelectByExampleWithoutBLOBsElementGenerated(XmlElement element, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapSelectByExampleWithBLOBsElementGenerated(XmlElement element, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapUpdateByExampleSelectiveElementGenerated(XmlElement element, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapUpdateByExampleWithBLOBsElementGenerated(XmlElement element, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean sqlMapUpdateByExampleWithoutBLOBsElementGenerated(XmlElement element, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerCountByExampleMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerDeleteByExampleMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerSelectByExampleWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerSelectByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerUpdateByExampleSelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerUpdateByExampleWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerUpdateByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean providerApplyWhereMethodGenerated(Method method, TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean modelRecordWithBLOBsClassGenerated(TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } + + @Override + public boolean modelPrimaryKeyClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { + return false; + } +} diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/LombokPlugin.java b/spring-boot-mybatis/generator/src/main/java/alex/plugin/LombokPlugin.java new file mode 100644 index 0000000..c6e596e --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/plugin/LombokPlugin.java @@ -0,0 +1,57 @@ +package alex.plugin; + +import java.util.List; +import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.TopLevelClass; + +/** + *

Created by qct on 2023/11/26. + */ +public class LombokPlugin extends PluginAdapter { + + @Override + public boolean validate(List warnings) { + return true; + } + + @Override + public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { + // @Data + topLevelClass.addImportedType("lombok.Data"); + topLevelClass.addAnnotation("@Data"); + + // @Builder + topLevelClass.addImportedType("lombok.Builder"); + topLevelClass.addAnnotation("@Builder"); + + // @NoArgsConstructor + topLevelClass.addImportedType("lombok.NoArgsConstructor"); + topLevelClass.addAnnotation("@NoArgsConstructor"); + + // @AllArgsConstructor + topLevelClass.addImportedType("lombok.AllArgsConstructor"); + topLevelClass.addAnnotation("@AllArgsConstructor"); + return super.modelBaseRecordClassGenerated(topLevelClass, introspectedTable); + } + + @Override + public boolean modelGetterMethodGenerated(Method method, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn, + IntrospectedTable introspectedTable, + ModelClassType modelClassType) { + return false; + } + + @Override + public boolean modelSetterMethodGenerated(Method method, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn, + IntrospectedTable introspectedTable, + ModelClassType modelClassType) { + return false; + } +} diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/MapperPlusPlugin.java b/spring-boot-mybatis/generator/src/main/java/alex/plugin/MapperPlusPlugin.java new file mode 100644 index 0000000..514aadb --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/plugin/MapperPlusPlugin.java @@ -0,0 +1,330 @@ +package alex.plugin; + +import java.io.File; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import org.mybatis.generator.api.GeneratedJavaFile; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.DefaultJavaFormatter; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; +import org.mybatis.generator.api.dom.java.Interface; +import org.mybatis.generator.api.dom.java.JavaVisibility; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.Parameter; +import org.mybatis.generator.api.dom.java.TypeParameter; +import org.mybatis.generator.api.dom.xml.Document; +import org.mybatis.generator.api.dom.xml.XmlElement; + +/** + *

Created by qct on 2023/11/26. + */ +public class MapperPlusPlugin extends PluginAdapter { + + private static final String BASE_PACKAGE_PROP = "base-mapper.target.package"; + + private static final String BASE_PROJECT_PROP = "base-mapper.target.project"; + + private static final String BASE_MAPPER_NAME_PROP = "base-mapper.name"; + + private static final String JAVA_MAPPER_PACKAGE_PROP = "java-mapper.target.package"; + + private static final String JAVA_MAPPER_PROJECT_PROP = "java-mapper.target.project"; + + private static final String JAVA_MAPPER_GENERATE_PROP = "java-mapper.generate"; + + private static final String JAVA_MAPPER_OVERRIDE_PROP = "java-mapper.override"; + + private static final String SELECT_ONE_BY_EXAMPLE_PROP = "select-one-by-example.disabled"; + + private List warnings; + + @Override + public boolean validate(List warnings) { + this.warnings = warnings; + return true; + } + + @Override + public void initialized(IntrospectedTable introspectedTable) { + String isGenerateJavaMapper = super.properties.getProperty(JAVA_MAPPER_GENERATE_PROP, "true"); + if (!Objects.equals(isGenerateJavaMapper, "true")) { + return; + } + overrideXmlFileName(introspectedTable); + overrideXmlNamespace(introspectedTable); + } + + @Override + public List contextGenerateAdditionalJavaFiles() { + String targetPackage = super.properties.getProperty(BASE_PACKAGE_PROP); + String mapperName = super.properties.getProperty(BASE_MAPPER_NAME_PROP, "BaseMapper"); + String interfaceName = targetPackage + "." + mapperName; + Interface baseMapperInterface = new Interface(new FullyQualifiedJavaType(interfaceName)); + + // BaseMapper + baseMapperInterface.addTypeParameter(new TypeParameter("T")); + baseMapperInterface.addTypeParameter(new TypeParameter("E")); + // count + addCountByExample(baseMapperInterface); + // delete + addDeleteByExample(baseMapperInterface); + addDeleteByPrimaryKey(baseMapperInterface); + // insert + addInsert(baseMapperInterface); + addInsertSelective(baseMapperInterface); + // select + addSelectByExample(baseMapperInterface); + addSelectOneByExample(baseMapperInterface); + addSelectByPrimaryKey(baseMapperInterface); + // update + addUpdateByExampleSelective(baseMapperInterface); + addUpdateByExample(baseMapperInterface); + addUpdateByPrimaryKeySelective(baseMapperInterface); + addUpdateByPrimaryKey(baseMapperInterface); + // import + baseMapperInterface.addImportedType( + new FullyQualifiedJavaType("org.apache.ibatis.annotations.Param")); + baseMapperInterface.addImportedType( + new FullyQualifiedJavaType("java.util.List")); + baseMapperInterface.setVisibility(JavaVisibility.PUBLIC); + + String targetProject = super.properties.getProperty(BASE_PROJECT_PROP); + GeneratedJavaFile baseMapperJavaFile = new GeneratedJavaFile( + baseMapperInterface, + targetProject, + new DefaultJavaFormatter() + ); + return Collections.singletonList(baseMapperJavaFile); + } + + protected void overrideXmlFileName(IntrospectedTable introspectedTable) { + String xmlMapperFileName = introspectedTable.getMyBatis3XmlMapperFileName(); + String newXmlMapperFileName = + xmlMapperFileName.replace("Mapper.xml", "GeneratedMapper.xml"); + introspectedTable.setMyBatis3XmlMapperFileName(newXmlMapperFileName); + } + + private void overrideXmlNamespace(IntrospectedTable introspectedTable) { + String javaMapperPackage = super.properties.getProperty(JAVA_MAPPER_PACKAGE_PROP); + String originalNamespace = introspectedTable.getMyBatis3SqlMapNamespace(); + int idx = originalNamespace.lastIndexOf("."); + String mapperInterfaceName = originalNamespace.substring(idx + 1); + String newNamespace = javaMapperPackage + "." + mapperInterfaceName; + introspectedTable.setMyBatis3JavaMapperType(newNamespace); + } + + private void addUpdateByPrimaryKey(Interface baseMapperInterface) { + // int updateByPrimaryKey(T row); + Method updateByPrimaryKey = new Method("updateByPrimaryKey"); + updateByPrimaryKey.setReturnType(new FullyQualifiedJavaType("int")); + updateByPrimaryKey.addParameter(new Parameter(new FullyQualifiedJavaType("T"), "row")); + updateByPrimaryKey.setAbstract(true); + baseMapperInterface.addMethod(updateByPrimaryKey); + } + + private void addUpdateByPrimaryKeySelective(Interface baseMapperInterface) { + // int updateByPrimaryKeySelective(T row); + Method updateByPrimaryKeySelective = new Method("updateByPrimaryKeySelective"); + updateByPrimaryKeySelective.setReturnType(new FullyQualifiedJavaType("int")); + updateByPrimaryKeySelective.addParameter( + new Parameter(new FullyQualifiedJavaType("T"), "row")); + updateByPrimaryKeySelective.setAbstract(true); + baseMapperInterface.addMethod(updateByPrimaryKeySelective); + } + + private void addSelectByPrimaryKey(Interface baseMapperInterface) { + // T selectByPrimaryKey(Long id); + Method selectByPrimaryKey = new Method("selectByPrimaryKey"); + selectByPrimaryKey.setReturnType(new FullyQualifiedJavaType("T")); + selectByPrimaryKey.addParameter( + new Parameter(new FullyQualifiedJavaType("Long"), "id")); + selectByPrimaryKey.setAbstract(true); + baseMapperInterface.addMethod(selectByPrimaryKey); + } + + private void addSelectByExample(Interface baseMapperInterface) { + // List selectByExample(E example); + Method selectByExample = new Method("selectByExample"); + selectByExample.setReturnType(new FullyQualifiedJavaType("List")); + selectByExample.addParameter(new Parameter(new FullyQualifiedJavaType("E"), "example")); + selectByExample.setAbstract(true); + baseMapperInterface.addMethod(selectByExample); + } + + private void addInsertSelective(Interface baseMapperInterface) { + // int insertSelective(T row); + Method insertSelective = new Method("insertSelective"); + insertSelective.setReturnType(new FullyQualifiedJavaType("int")); + insertSelective.addParameter(new Parameter(new FullyQualifiedJavaType("T"), "row")); + insertSelective.setAbstract(true); + baseMapperInterface.addMethod(insertSelective); + } + + private void addInsert(Interface baseMapperInterface) { + // int insert(T row); + Method insert = new Method("insert"); + insert.setReturnType(new FullyQualifiedJavaType("int")); + insert.addParameter(new Parameter(new FullyQualifiedJavaType("T"), "row")); + insert.setAbstract(true); + baseMapperInterface.addMethod(insert); + } + + private void addDeleteByPrimaryKey(Interface baseMapperInterface) { + // int deleteByPrimaryKey(Long id); + Method deleteByPrimaryKey = new Method("deleteByPrimaryKey"); + deleteByPrimaryKey.setReturnType(new FullyQualifiedJavaType("int")); + deleteByPrimaryKey.addParameter(new Parameter(new FullyQualifiedJavaType("Long"), "id")); + deleteByPrimaryKey.setAbstract(true); + baseMapperInterface.addMethod(deleteByPrimaryKey); + } + + private void addDeleteByExample(Interface baseMapperInterface) { + // int deleteByExample(E example); + Method deleteByExample = new Method("deleteByExample"); + deleteByExample.setReturnType(new FullyQualifiedJavaType("int")); + deleteByExample.addParameter(new Parameter(new FullyQualifiedJavaType("E"), "example")); + deleteByExample.setAbstract(true); + baseMapperInterface.addMethod(deleteByExample); + } + + private void addCountByExample(Interface baseMapperInterface) { + // long countByExample(E example); + Method countByExample = new Method("countByExample"); + countByExample.setReturnType(new FullyQualifiedJavaType("T")); + countByExample.addParameter(new Parameter(new FullyQualifiedJavaType("E"), "example")); + countByExample.setReturnType(new FullyQualifiedJavaType("long")); + countByExample.setAbstract(true); + baseMapperInterface.addMethod(countByExample); + } + + private void addSelectOneByExample(Interface baseMapperInterface) { + if ("false".equals(super.properties.getProperty(SELECT_ONE_BY_EXAMPLE_PROP, "false"))) { + Method selectOneByExample = new Method("selectOneByExample"); + baseMapperInterface.addImportedType(new FullyQualifiedJavaType("java.util.Optional")); + selectOneByExample.setReturnType(new FullyQualifiedJavaType("Optional")); + + Parameter exampleParam = new Parameter(new FullyQualifiedJavaType("E"), "example"); + selectOneByExample.addParameter(exampleParam); + + selectOneByExample.setAbstract(true); + baseMapperInterface.addMethod(selectOneByExample); + } else { + this.warnings.add("The 'selectOneByExample' method is not generated" + + " because the 'selectOneByExample' property is set to 'false'."); + } + } + + private void addUpdateByExampleSelective(Interface interfaze) { + // int updateByExampleSelective(@Param("row") T row, @Param("example") E example); + Method updateByExampleSelective = new Method("updateByExampleSelective"); + updateByExampleSelective.setReturnType(new FullyQualifiedJavaType("int")); + + Parameter rowParam = new Parameter(new FullyQualifiedJavaType("T"), "row"); + rowParam.addAnnotation("@Param(\"row\")"); + updateByExampleSelective.addParameter(rowParam); + + Parameter exampleParam = new Parameter(new FullyQualifiedJavaType("E"), "example"); + exampleParam.addAnnotation("@Param(\"example\")"); + updateByExampleSelective.addParameter(exampleParam); + + updateByExampleSelective.setAbstract(true); + interfaze.addMethod(updateByExampleSelective); + } + + private void addUpdateByExample(Interface interfaze) { + // int updateByExample(@Param("row") T row, @Param("example") E example); + Method updateByExample = new Method("updateByExample"); + updateByExample.setReturnType(new FullyQualifiedJavaType("int")); + + Parameter rowParam = new Parameter(new FullyQualifiedJavaType("T"), "row"); + updateByExample.addParameter(rowParam); + rowParam.addAnnotation("@Param(\"row\")"); + + Parameter exampleParam = new Parameter(new FullyQualifiedJavaType("E"), "example"); + exampleParam.addAnnotation("@Param(\"example\")"); + updateByExample.addParameter(exampleParam); + + updateByExample.setAbstract(true); + interfaze.addMethod(updateByExample); + } + + @Override + public boolean sqlMapDocumentGenerated(Document document, IntrospectedTable introspectedTable) { + // selectOneByExample + // if ("false".equals(super.properties.getProperty(SELECT_ONE_BY_EXAMPLE_PROP, "false"))) { + // XmlElement mapperParent = document.getRootElement(); + // SelectOneByExampleXmlElementGenerator generator = new SelectOneByExampleXmlElementGenerator(); + // generator.setContext(context); + // generator.setWarnings(warnings); + // generator.setIntrospectedTable(introspectedTable); + // generator.addElements(mapperParent); + // } + return true; + } + + @Override + public List contextGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) { + String isGenerateJavaMapper = super.properties.getProperty(JAVA_MAPPER_GENERATE_PROP, "true"); + if (!Objects.equals(isGenerateJavaMapper, "true")) { + return Collections.emptyList(); + } + + String javaMapperProject = super.properties.getProperty(JAVA_MAPPER_PROJECT_PROP); + String javaMapperPackage = super.properties.getProperty(JAVA_MAPPER_PACKAGE_PROP); + + String xmlNamespace = introspectedTable.getMyBatis3SqlMapNamespace(); + int idx = xmlNamespace.lastIndexOf("."); + String interfaceName = xmlNamespace.substring(idx + 1); + + boolean allowOverride = + Boolean.parseBoolean(super.properties.getProperty(JAVA_MAPPER_OVERRIDE_PROP, "false")); + if (javaMapperExists(javaMapperProject, javaMapperPackage, interfaceName)) { + if (!allowOverride) { + return Collections.emptyList(); + } + warnings.add("java mapper interface " + + interfaceName + + " already exists in " + + javaMapperProject + + " and will be overridden."); + } + + String fullInterfaceName = javaMapperPackage + "." + interfaceName; + Interface baseMapperInterface = new Interface(new FullyQualifiedJavaType(fullInterfaceName)); + baseMapperInterface.setVisibility(JavaVisibility.PUBLIC); + + // import BaseMapper + String baseMapperPackage = super.properties.getProperty(BASE_PACKAGE_PROP); + String baseMapperName = super.properties.getProperty(BASE_MAPPER_NAME_PROP, "BaseMapper"); + baseMapperInterface.addImportedType( + new FullyQualifiedJavaType(baseMapperPackage + "." + baseMapperName)); + + // extends BaseMapper + String baseRecordType = introspectedTable.getBaseRecordType(); + String exampleType = introspectedTable.getExampleType(); + baseMapperInterface.addImportedType(new FullyQualifiedJavaType(baseRecordType)); + baseMapperInterface.addImportedType(new FullyQualifiedJavaType(exampleType)); + + String simplePojoType = baseRecordType.substring(baseRecordType.lastIndexOf(".") + 1); + String simpleExampleType = exampleType.substring(exampleType.lastIndexOf(".") + 1); + baseMapperInterface.addSuperInterface(new FullyQualifiedJavaType( + baseMapperName + "<" + simplePojoType + "," + simpleExampleType + ">")); + + GeneratedJavaFile baseMapperJavaFile = new GeneratedJavaFile( + baseMapperInterface, + javaMapperProject, + new DefaultJavaFormatter() + ); + return Collections.singletonList(baseMapperJavaFile); + } + + private boolean javaMapperExists(String mapperProject, String mapperPackage, String mapperName) { + String mapperPackagePath = mapperPackage.replace(".", File.separator); + String fileName = mapperProject + File.separator + + mapperPackagePath + File.separator + + mapperName + ".java"; + return new File(fileName).exists(); + } +} \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/NullSafePlugin.java b/spring-boot-mybatis/generator/src/main/java/alex/plugin/NullSafePlugin.java new file mode 100644 index 0000000..56caaa2 --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/plugin/NullSafePlugin.java @@ -0,0 +1,173 @@ +package alex.plugin; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.java.Field; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.Parameter; +import org.mybatis.generator.api.dom.java.TopLevelClass; + +/** + *

Created by qct on 2023/11/26. + */ +public class NullSafePlugin extends PluginAdapter { + + private static final String IGNORE_COLUMN_PROP = "ignore.columns"; + + private static final String ADD_SPRING_NULLABLE_ANNOTATION = "spring.nullable"; + + private static final String ADD_OPTIONAL_GETTER = "optional.getter"; + + private static final String ALL = "*"; + + private Map> ignoredTableColumns = new HashMap<>(); + + private boolean addSpringNullableAnnotation; + + private boolean addOptionalGetter; + + @Override + public boolean validate(List warnings) { + return true; + } + + @Override + public void initialized(IntrospectedTable introspectedTable) { + addSpringNullableAnnotation = Boolean.parseBoolean( + properties.getOrDefault(ADD_SPRING_NULLABLE_ANNOTATION, "false").toString()); + addOptionalGetter = Boolean.parseBoolean( + properties.getOrDefault(ADD_OPTIONAL_GETTER, "true").toString()); + String ignoreColumns = (String) super.properties.getOrDefault(IGNORE_COLUMN_PROP, ""); + if (ignoreColumns.isEmpty()) { + return; + } + + String[] ignoreColumnsArray = ignoreColumns.split(","); + for (String ignoreColumnPattern : ignoreColumnsArray) { + int separatorIndex = ignoreColumnPattern.lastIndexOf("."); + if (separatorIndex == -1) { + continue; + } + + String tableName = ignoreColumnPattern.substring(0, separatorIndex).trim(); + String columnName = ignoreColumnPattern.substring(separatorIndex + 1).trim(); + Set values = ignoredTableColumns.computeIfAbsent(tableName, k -> new HashSet<>()); + values.add(columnName); + } + } + + @Override + public boolean modelFieldGenerated(Field field, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn, + IntrospectedTable introspectedTable, + ModelClassType modelClassType) { + if (ignore(introspectedTable.getFullyQualifiedTable().getIntrospectedTableName(), + introspectedColumn.getActualColumnName())) { + return true; + } + + addSpringNullableAnnotation(field, topLevelClass, introspectedColumn); + return true; + } + + @Override + public boolean modelGetterMethodGenerated(Method method, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn, + IntrospectedTable introspectedTable, + ModelClassType modelClassType) { + if (ignore(introspectedTable.getFullyQualifiedTable().getIntrospectedTableName(), + introspectedColumn.getActualColumnName())) { + return true; + } + + addOptionalGetter(method, topLevelClass, introspectedColumn); + addSpringNullableAnnotation(method, topLevelClass, introspectedColumn); + return true; + } + + @Override + public boolean modelSetterMethodGenerated(Method method, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn, + IntrospectedTable introspectedTable, + ModelClassType modelClassType) { + if (ignore(introspectedTable.getFullyQualifiedTable().getIntrospectedTableName(), + introspectedColumn.getActualColumnName())) { + return true; + } + + Parameter parameter = method.getParameters().iterator().next(); + addSpringNullableAnnotation(parameter, topLevelClass, introspectedColumn); + return true; + } + + protected boolean ignore(String tableName, String columnName) { + if (ignoredTableColumns.containsKey(tableName)) { + Set ignoredColumns = ignoredTableColumns.get(tableName); + if (ignoredColumns.contains(columnName)) { + return true; + } + } + + if (ignoredTableColumns.containsKey(ALL)) { + Set ignoredColumns = ignoredTableColumns.get(ALL); + if (ignoredColumns.contains(columnName)) { + return true; + } + } + return false; + } + + private void addOptionalGetter(Method method, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn) { + if (addOptionalGetter && introspectedColumn.isNullable()) { + method.getReturnType().ifPresent(returnType -> { + topLevelClass.addImportedType(new FullyQualifiedJavaType("java.util.Optional")); + Method optionGetter = new Method(method.getName() + "Optional"); + optionGetter.setVisibility(method.getVisibility()); + String shortName = returnType.getShortName(); + optionGetter.setReturnType( + new FullyQualifiedJavaType("java.util.Optional<" + shortName + ">")); + optionGetter.addBodyLine("return Optional.ofNullable(" + introspectedColumn.getJavaProperty() + ");"); + topLevelClass.addMethod(optionGetter); + }); + } + } + + private void addSpringNullableAnnotation(Method method, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn) { + if (addSpringNullableAnnotation && introspectedColumn.isNullable()) { + topLevelClass.addImportedType("org.springframework.lang.Nullable"); + method.addAnnotation("@Nullable"); + } + } + + private void addSpringNullableAnnotation(Field field, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn) { + if (addSpringNullableAnnotation && introspectedColumn.isNullable()) { + topLevelClass.addImportedType("org.springframework.lang.Nullable"); + field.addAnnotation("@Nullable"); + } + } + + private void addSpringNullableAnnotation(Parameter parameter, + TopLevelClass topLevelClass, + IntrospectedColumn introspectedColumn) { + if (addSpringNullableAnnotation && introspectedColumn.isNullable()) { + topLevelClass.addImportedType("org.springframework.lang.Nullable"); + parameter.addAnnotation("@Nullable"); + } + } +} \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/OptionalPlugin.java b/spring-boot-mybatis/generator/src/main/java/alex/plugin/OptionalPlugin.java new file mode 100644 index 0000000..cba3233 --- /dev/null +++ b/spring-boot-mybatis/generator/src/main/java/alex/plugin/OptionalPlugin.java @@ -0,0 +1,49 @@ +package alex.plugin; + +import java.util.List; +import java.util.Optional; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; +import org.mybatis.generator.api.dom.java.Interface; +import org.mybatis.generator.api.dom.java.Method; +import org.mybatis.generator.api.dom.java.TopLevelClass; + +/** + *

Created by qct on 2023/11/26. + */ +public class OptionalPlugin extends PluginAdapter { + + @Override + public boolean validate(List warnings) { + return true; + } + + @Override + public boolean clientBasicSelectOneMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + method.getReturnType().ifPresent(returnType -> { + FullyQualifiedJavaType type = new FullyQualifiedJavaType(Optional.class.getName()); + type.addTypeArgument(returnType); + method.setReturnType(type); + }); + return true; + } + + @Override + public boolean clientSelectByPrimaryKeyMethodGenerated(Method method, Interface interfaze, + IntrospectedTable introspectedTable) { + method.getReturnType().ifPresent(returnType -> { + FullyQualifiedJavaType type = new FullyQualifiedJavaType(Optional.class.getName()); + type.addTypeArgument(returnType); + method.setReturnType(type); + }); + return true; + } + + @Override + public boolean modelRecordWithBLOBsClassGenerated(TopLevelClass topLevelClass, + IntrospectedTable introspectedTable) { + return false; + } +} diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml b/spring-boot-mybatis/generator/src/main/resources/application.yml similarity index 84% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml rename to spring-boot-mybatis/generator/src/main/resources/application.yml index bd8b32b..af2fc9b 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml +++ b/spring-boot-mybatis/generator/src/main/resources/application.yml @@ -1,6 +1,6 @@ mybatis: type-aliases-package: alex.dto - mapper-locations: classpath:alex/dao/*.xml + mapper-locations: classpath:mapper/*.xml spring: datasource: driver-class-name: org.h2.Driver @@ -18,7 +18,10 @@ spring: banner-mode: off h2: console: - enabled: true + enabled: false + +generator: + generate: false logging: level: diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties similarity index 57% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties rename to spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties index 2a981fc..dc17d31 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties +++ b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties @@ -3,9 +3,9 @@ jdbc.url=jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_I jdbc.user=sa jdbc.password=sa model.target.package=alex.dto -model.target.project=./spring-boot-mybatis/mybatis-generator +model.target.project=./spring-boot-mybatis/generator dao.target.package=alex.dao -dao.target.project=./spring-boot-mybatis/mybatis-generator +dao.target.project=./spring-boot-mybatis/generator mapper.target.package=alex.dao -mapper.target.project=./spring-boot-mybatis/mybatis-generator +mapper.target.project=./spring-boot-mybatis/generator diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml similarity index 80% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml rename to spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml index 2b8459b..997695f 100644 --- a/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml +++ b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml @@ -7,9 +7,10 @@ - - - + + + + @@ -24,8 +25,7 @@ - + @@ -41,10 +41,10 @@ type="XMLMAPPER"/> - +
- +
diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/sql/data-h2.sql b/spring-boot-mybatis/generator/src/main/resources/sql/data-h2.sql similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/sql/data-h2.sql rename to spring-boot-mybatis/generator/src/main/resources/sql/data-h2.sql diff --git a/spring-boot-mybatis/mybatis-generator/src/main/resources/sql/schema-h2.sql b/spring-boot-mybatis/generator/src/main/resources/sql/schema-h2.sql similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/main/resources/sql/schema-h2.sql rename to spring-boot-mybatis/generator/src/main/resources/sql/schema-h2.sql diff --git a/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonExMapperTest.java b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java similarity index 100% rename from spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonExMapperTest.java rename to spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java diff --git a/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java similarity index 79% rename from spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java rename to spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java index 28cd518..c2141e7 100644 --- a/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java +++ b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java @@ -1,8 +1,6 @@ package alex.dao; import alex.dto.Person; -import alex.dto.PersonExample; -import java.util.List; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mybatis.spring.boot.test.autoconfigure.MybatisTest; @@ -17,12 +15,6 @@ public class PersonMapperTest { @Autowired private PersonMapper mapper; - @Test - public void selectByExample() throws Exception { - List people = mapper.selectByExample(new PersonExample()); - System.out.println(people.size()); - } - @Test public void selectByPrimaryKey() throws Exception { Person person = mapper.selectByPrimaryKey(5); diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapper.java deleted file mode 100644 index 807c8c9..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package alex; - -import java.io.Serializable; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** Created by qct on 2017/10/5. */ -public interface BaseMapper { - - long countByExample(E example); - - int deleteByExample(E example); - - int deleteByPrimaryKey(PK pk); - - int insert(T record); - - int insertSelective(T record); - - List selectByExample(E example); - - T selectByPrimaryKey(PK pk); - - int updateByExampleSelective(@Param("record") T record, @Param("example") E example); - - int updateByExample(@Param("record") T record, @Param("example") E example); - - int updateByPrimaryKeySelective(T record); - - int updateByPrimaryKey(T record); -} diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapperGeneratorPlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapperGeneratorPlugin.java deleted file mode 100644 index 9f0838c..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/BaseMapperGeneratorPlugin.java +++ /dev/null @@ -1,39 +0,0 @@ -package alex; - -import java.util.List; -import org.mybatis.generator.api.IntrospectedTable; -import org.mybatis.generator.api.PluginAdapter; -import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; -import org.mybatis.generator.api.dom.java.Interface; - -/** Created by qct on 2017/10/5. */ -public class BaseMapperGeneratorPlugin extends PluginAdapter { - - @Override - public boolean clientGenerated(Interface interfaze, IntrospectedTable introspectedTable) { - // 主键默认采用java.lang.Integer - FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType("BaseMapper<" - + introspectedTable.getBaseRecordType() - + "," - + introspectedTable.getExampleType() - + ",java.lang.Integer" - + ">"); - FullyQualifiedJavaType imp = new FullyQualifiedJavaType("alex.BaseMapper"); - - // 添加 extends MybatisBaseMapper - interfaze.addSuperInterface(fqjt); - - // 添加import my.mabatis.example.base.MybatisBaseMapper; - interfaze.addImportedType(imp); - - // 方法不需要 - interfaze.getMethods().clear(); - interfaze.getAnnotations().clear(); - return true; - } - - @Override - public boolean validate(List warnings) { - return true; - } -} diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java deleted file mode 100644 index b20f2bb..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package alex.dao; - -import alex.BaseMapper; -import alex.dto.Person; -import alex.dto.PersonExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface PersonMapper extends BaseMapper { -} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml deleted file mode 100644 index caa9baf..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.xml +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - id, name, address, age - - - - - - delete from testdb.public.person - where id = #{id,jdbcType=INTEGER} - - - - delete from testdb.public.person - - - - - - - - SELECT LAST_INSERT_ID() - - insert into testdb.public.person (name, address, age - ) - values (#{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER} - ) - - - - - SELECT LAST_INSERT_ID() - - insert into testdb.public.person - - - name, - - - address, - - - age, - - - - - #{name,jdbcType=VARCHAR}, - - - #{address,jdbcType=VARCHAR}, - - - #{age,jdbcType=INTEGER}, - - - - - - - update testdb.public.person - - - id = #{row.id,jdbcType=INTEGER}, - - - name = #{row.name,jdbcType=VARCHAR}, - - - address = #{row.address,jdbcType=VARCHAR}, - - - age = #{row.age,jdbcType=INTEGER}, - - - - - - - - - update testdb.public.person - set id = #{row.id,jdbcType=INTEGER}, - name = #{row.name,jdbcType=VARCHAR}, - address = #{row.address,jdbcType=VARCHAR}, - age = #{row.age,jdbcType=INTEGER} - - - - - - - update testdb.public.person - - - name = #{name,jdbcType=VARCHAR}, - - - address = #{address,jdbcType=VARCHAR}, - - - age = #{age,jdbcType=INTEGER}, - - - where id = #{id,jdbcType=INTEGER} - - - - update testdb.public.person - set name = #{name,jdbcType=VARCHAR}, - address = #{address,jdbcType=VARCHAR}, - age = #{age,jdbcType=INTEGER} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java deleted file mode 100644 index db439dc..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package alex.dao; - -import alex.BaseMapper; -import alex.dto.School; -import alex.dto.SchoolExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface SchoolMapper extends BaseMapper { -} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml deleted file mode 100644 index ce0d8b4..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - id, name - - - - - - delete from testdb.public.school - where id = #{id,jdbcType=INTEGER} - - - - delete from testdb.public.school - - - - - - - - SELECT LAST_INSERT_ID() - - insert into testdb.public.school (name) - values (#{name,jdbcType=VARCHAR}) - - - - - SELECT LAST_INSERT_ID() - - insert into testdb.public.school - - - name, - - - - - #{name,jdbcType=VARCHAR}, - - - - - - - update testdb.public.school - - - id = #{row.id,jdbcType=INTEGER}, - - - name = #{row.name,jdbcType=VARCHAR}, - - - - - - - - - update testdb.public.school - set id = #{row.id,jdbcType=INTEGER}, - name = #{row.name,jdbcType=VARCHAR} - - - - - - - update testdb.public.school - - - name = #{name,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - - update testdb.public.school - set name = #{name,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java deleted file mode 100644 index bd62b73..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java +++ /dev/null @@ -1,199 +0,0 @@ -package alex.dto; - -public class Person { - /** - * - * This field was generated by MyBatis Generator. - * This field corresponds to the database column testdb.public.person.id - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - private Integer id; - - /** - * - * This field was generated by MyBatis Generator. - * This field corresponds to the database column testdb.public.person.name - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - private String name; - - /** - * - * This field was generated by MyBatis Generator. - * This field corresponds to the database column testdb.public.person.address - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - private String address; - - /** - * - * This field was generated by MyBatis Generator. - * This field corresponds to the database column testdb.public.person.age - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - private Integer age; - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column testdb.public.person.id - * - * @return the value of testdb.public.person.id - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Integer getId() { - return id; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Person withId(Integer id) { - this.setId(id); - return this; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column testdb.public.person.id - * - * @param id the value for testdb.public.person.id - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column testdb.public.person.name - * - * @return the value of testdb.public.person.name - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public String getName() { - return name; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Person withName(String name) { - this.setName(name); - return this; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column testdb.public.person.name - * - * @param name the value for testdb.public.person.name - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column testdb.public.person.address - * - * @return the value of testdb.public.person.address - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public String getAddress() { - return address; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Person withAddress(String address) { - this.setAddress(address); - return this; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column testdb.public.person.address - * - * @param address the value for testdb.public.person.address - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setAddress(String address) { - this.address = address == null ? null : address.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column testdb.public.person.age - * - * @return the value of testdb.public.person.age - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Integer getAge() { - return age; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Person withAge(Integer age) { - this.setAge(age); - return this; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column testdb.public.person.age - * - * @param age the value for testdb.public.person.age - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setAge(Integer age) { - this.age = age; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(getClass().getSimpleName()); - sb.append(" ["); - sb.append("Hash = ").append(hashCode()); - sb.append(", id=").append(id); - sb.append(", name=").append(name); - sb.append(", address=").append(address); - sb.append(", age=").append(age); - sb.append("]"); - return sb.toString(); - } -} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java deleted file mode 100644 index 2561f84..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/PersonExample.java +++ /dev/null @@ -1,561 +0,0 @@ -package alex.dto; - -import java.util.ArrayList; -import java.util.List; - -public class PersonExample { - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected String orderByClause; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected boolean distinct; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected List oredCriteria; - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public PersonExample() { - oredCriteria = new ArrayList<>(); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public String getOrderByClause() { - return orderByClause; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public boolean isDistinct() { - return distinct; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public List getOredCriteria() { - return oredCriteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList<>(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Integer value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Integer value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Integer value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Integer value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Integer value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Integer value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Integer value1, Integer value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Integer value1, Integer value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andAddressIsNull() { - addCriterion("address is null"); - return (Criteria) this; - } - - public Criteria andAddressIsNotNull() { - addCriterion("address is not null"); - return (Criteria) this; - } - - public Criteria andAddressEqualTo(String value) { - addCriterion("address =", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressNotEqualTo(String value) { - addCriterion("address <>", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressGreaterThan(String value) { - addCriterion("address >", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressGreaterThanOrEqualTo(String value) { - addCriterion("address >=", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressLessThan(String value) { - addCriterion("address <", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressLessThanOrEqualTo(String value) { - addCriterion("address <=", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressLike(String value) { - addCriterion("address like", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressNotLike(String value) { - addCriterion("address not like", value, "address"); - return (Criteria) this; - } - - public Criteria andAddressIn(List values) { - addCriterion("address in", values, "address"); - return (Criteria) this; - } - - public Criteria andAddressNotIn(List values) { - addCriterion("address not in", values, "address"); - return (Criteria) this; - } - - public Criteria andAddressBetween(String value1, String value2) { - addCriterion("address between", value1, value2, "address"); - return (Criteria) this; - } - - public Criteria andAddressNotBetween(String value1, String value2) { - addCriterion("address not between", value1, value2, "address"); - return (Criteria) this; - } - - public Criteria andAgeIsNull() { - addCriterion("age is null"); - return (Criteria) this; - } - - public Criteria andAgeIsNotNull() { - addCriterion("age is not null"); - return (Criteria) this; - } - - public Criteria andAgeEqualTo(Integer value) { - addCriterion("age =", value, "age"); - return (Criteria) this; - } - - public Criteria andAgeNotEqualTo(Integer value) { - addCriterion("age <>", value, "age"); - return (Criteria) this; - } - - public Criteria andAgeGreaterThan(Integer value) { - addCriterion("age >", value, "age"); - return (Criteria) this; - } - - public Criteria andAgeGreaterThanOrEqualTo(Integer value) { - addCriterion("age >=", value, "age"); - return (Criteria) this; - } - - public Criteria andAgeLessThan(Integer value) { - addCriterion("age <", value, "age"); - return (Criteria) this; - } - - public Criteria andAgeLessThanOrEqualTo(Integer value) { - addCriterion("age <=", value, "age"); - return (Criteria) this; - } - - public Criteria andAgeIn(List values) { - addCriterion("age in", values, "age"); - return (Criteria) this; - } - - public Criteria andAgeNotIn(List values) { - addCriterion("age not in", values, "age"); - return (Criteria) this; - } - - public Criteria andAgeBetween(Integer value1, Integer value2) { - addCriterion("age between", value1, value2, "age"); - return (Criteria) this; - } - - public Criteria andAgeNotBetween(Integer value1, Integer value2) { - addCriterion("age not between", value1, value2, "age"); - return (Criteria) this; - } - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table testdb.public.person - * - * @mbg.generated do_not_delete_during_merge Sun Nov 26 21:15:27 GST 2023 - */ - public static class Criteria extends GeneratedCriteria { - protected Criteria() { - super(); - } - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table testdb.public.person - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java deleted file mode 100644 index 1549ccb..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java +++ /dev/null @@ -1,109 +0,0 @@ -package alex.dto; - -public class School { - /** - * - * This field was generated by MyBatis Generator. - * This field corresponds to the database column testdb.public.school.id - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - private Integer id; - - /** - * - * This field was generated by MyBatis Generator. - * This field corresponds to the database column testdb.public.school.name - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - private String name; - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column testdb.public.school.id - * - * @return the value of testdb.public.school.id - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Integer getId() { - return id; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public School withId(Integer id) { - this.setId(id); - return this; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column testdb.public.school.id - * - * @param id the value for testdb.public.school.id - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column testdb.public.school.name - * - * @return the value of testdb.public.school.name - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public String getName() { - return name; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public School withName(String name) { - this.setName(name); - return this; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column testdb.public.school.name - * - * @param name the value for testdb.public.school.name - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(getClass().getSimpleName()); - sb.append(" ["); - sb.append("Hash = ").append(hashCode()); - sb.append(", id=").append(id); - sb.append(", name=").append(name); - sb.append("]"); - return sb.toString(); - } -} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java deleted file mode 100644 index 413d218..0000000 --- a/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/SchoolExample.java +++ /dev/null @@ -1,431 +0,0 @@ -package alex.dto; - -import java.util.ArrayList; -import java.util.List; - -public class SchoolExample { - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected String orderByClause; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected boolean distinct; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected List oredCriteria; - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public SchoolExample() { - oredCriteria = new ArrayList<>(); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public String getOrderByClause() { - return orderByClause; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public boolean isDistinct() { - return distinct; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public List getOredCriteria() { - return oredCriteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - /** - * This method was generated by MyBatis Generator. - * This method corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList<>(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Integer value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Integer value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Integer value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Integer value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Integer value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Integer value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Integer value1, Integer value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Integer value1, Integer value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table testdb.public.school - * - * @mbg.generated do_not_delete_during_merge Sun Nov 26 21:15:27 GST 2023 - */ - public static class Criteria extends GeneratedCriteria { - protected Criteria() { - super(); - } - } - - /** - * This class was generated by MyBatis Generator. - * This class corresponds to the database table testdb.public.school - * - * @mbg.generated Sun Nov 26 21:15:27 GST 2023 - */ - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-plus/pom.xml b/spring-boot-mybatis/mybatis-plus/pom.xml index 3985a69..d61c717 100644 --- a/spring-boot-mybatis/mybatis-plus/pom.xml +++ b/spring-boot-mybatis/mybatis-plus/pom.xml @@ -62,7 +62,7 @@ mybatis-generator-maven-plugin 1.4.2 - spring-boot-mybatis-generator/src/main/resources/generatorConfig.xml + ${project.basedir}/src/main/resources/generatorConfig.xml true true diff --git a/spring-boot-mybatis/pom.xml b/spring-boot-mybatis/pom.xml index cb42bf9..5a4e629 100644 --- a/spring-boot-mybatis/pom.xml +++ b/spring-boot-mybatis/pom.xml @@ -14,7 +14,7 @@ pom - mybatis-generator + generator mybatis-plus From c16efb00dcb2fc54ded9cb17a0232f3145128415 Mon Sep 17 00:00:00 2001 From: qct Date: Mon, 27 Nov 2023 23:32:55 +0400 Subject: [PATCH 5/7] Regenerate and fix testcases --- spring-boot-mybatis/generator/pom.xml | 11 ++++++++ .../src/main/java/alex/dao/PersonMapper.java | 12 ++++----- .../src/main/java/alex/dao/SchoolMapper.java | 12 ++++----- .../src/main/java/alex/dto/Person.java | 8 +++--- .../src/main/java/alex/dto/School.java | 4 +-- .../main/resources/generatorConfig.properties | 2 +- .../src/main/resources/generatorConfig.xml | 6 ++--- .../mapper}/PersonExMapper.xml | 5 ---- .../dao => resources/mapper}/PersonMapper.xml | 26 +++++++------------ .../dao => resources/mapper}/SchoolMapper.xml | 26 +++++++------------ .../java/alex/dao/PersonExMapperTest.java | 5 +++- .../test/java/alex/dao/PersonMapperTest.java | 18 +++++++++++-- 12 files changed, 73 insertions(+), 62 deletions(-) rename spring-boot-mybatis/generator/src/main/{java/alex/dao => resources/mapper}/PersonExMapper.xml (74%) rename spring-boot-mybatis/generator/src/main/{java/alex/dao => resources/mapper}/PersonMapper.xml (79%) rename spring-boot-mybatis/generator/src/main/{java/alex/dao => resources/mapper}/SchoolMapper.xml (75%) diff --git a/spring-boot-mybatis/generator/pom.xml b/spring-boot-mybatis/generator/pom.xml index 04d51c7..c7ce85e 100644 --- a/spring-boot-mybatis/generator/pom.xml +++ b/spring-boot-mybatis/generator/pom.xml @@ -52,6 +52,17 @@ + + + src/main/resources + + + src/main/java + + **/*.java + + + org.springframework.boot diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java index 277178a..1709b04 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java +++ b/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java @@ -7,7 +7,7 @@ public interface PersonMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table person * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int deleteByPrimaryKey(Integer id); @@ -15,7 +15,7 @@ public interface PersonMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table person * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int insert(Person row); @@ -23,7 +23,7 @@ public interface PersonMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table person * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int insertSelective(Person row); @@ -31,7 +31,7 @@ public interface PersonMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table person * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ Person selectByPrimaryKey(Integer id); @@ -39,7 +39,7 @@ public interface PersonMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table person * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int updateByPrimaryKeySelective(Person row); @@ -47,7 +47,7 @@ public interface PersonMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table person * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int updateByPrimaryKey(Person row); } \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java b/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java index 9ef0bec..f4977ba 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java +++ b/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java @@ -7,7 +7,7 @@ public interface SchoolMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table school * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int deleteByPrimaryKey(Integer id); @@ -15,7 +15,7 @@ public interface SchoolMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table school * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int insert(School row); @@ -23,7 +23,7 @@ public interface SchoolMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table school * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int insertSelective(School row); @@ -31,7 +31,7 @@ public interface SchoolMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table school * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ School selectByPrimaryKey(Integer id); @@ -39,7 +39,7 @@ public interface SchoolMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table school * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int updateByPrimaryKeySelective(School row); @@ -47,7 +47,7 @@ public interface SchoolMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table school * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ int updateByPrimaryKey(School row); } \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java b/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java index 18658be..f0ff7f9 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java +++ b/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java @@ -15,7 +15,7 @@ public class Person { * This field was generated by MyBatis Generator. * This field corresponds to the database column person.id * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ private Integer id; @@ -24,7 +24,7 @@ public class Person { * This field was generated by MyBatis Generator. * This field corresponds to the database column person.name * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ private String name; @@ -33,7 +33,7 @@ public class Person { * This field was generated by MyBatis Generator. * This field corresponds to the database column person.address * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ private String address; @@ -42,7 +42,7 @@ public class Person { * This field was generated by MyBatis Generator. * This field corresponds to the database column person.age * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ private Integer age; } \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java b/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java index e91a0d0..ecc05b0 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java +++ b/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java @@ -15,7 +15,7 @@ public class School { * This field was generated by MyBatis Generator. * This field corresponds to the database column school.id * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ private Integer id; @@ -24,7 +24,7 @@ public class School { * This field was generated by MyBatis Generator. * This field corresponds to the database column school.name * - * @mbg.generated Sun Nov 26 23:29:14 GST 2023 + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 */ private String name; } \ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties index dc17d31..7521459 100644 --- a/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties +++ b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties @@ -6,6 +6,6 @@ model.target.package=alex.dto model.target.project=./spring-boot-mybatis/generator dao.target.package=alex.dao dao.target.project=./spring-boot-mybatis/generator -mapper.target.package=alex.dao +mapper.target.package=mapper mapper.target.project=./spring-boot-mybatis/generator diff --git a/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml index 997695f..8022d52 100644 --- a/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml +++ b/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml @@ -34,7 +34,7 @@ + targetProject="${mapper.target.project}/src/main/resources"/> - +
- +
\ No newline at end of file diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.xml b/spring-boot-mybatis/generator/src/main/resources/mapper/PersonExMapper.xml similarity index 74% rename from spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.xml rename to spring-boot-mybatis/generator/src/main/resources/mapper/PersonExMapper.xml index 1792768..6007658 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.xml +++ b/spring-boot-mybatis/generator/src/main/resources/mapper/PersonExMapper.xml @@ -2,11 +2,6 @@ - diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml b/spring-boot-mybatis/generator/src/main/resources/mapper/PersonMapper.xml similarity index 79% rename from spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml rename to spring-boot-mybatis/generator/src/main/resources/mapper/PersonMapper.xml index 109eb71..fef8bca 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.xml +++ b/spring-boot-mybatis/generator/src/main/resources/mapper/PersonMapper.xml @@ -5,7 +5,7 @@ @@ -16,7 +16,7 @@ id, name, address, age @@ -24,7 +24,7 @@ select @@ -35,34 +35,28 @@ delete from person where id = #{id,jdbcType=INTEGER} - + - - SELECT LAST_INSERT_ID() - insert into person (name, address, age ) values (#{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER} ) - + - - SELECT LAST_INSERT_ID() - insert into person @@ -91,7 +85,7 @@ update person @@ -111,7 +105,7 @@ update person set name = #{name,jdbcType=VARCHAR}, diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml b/spring-boot-mybatis/generator/src/main/resources/mapper/SchoolMapper.xml similarity index 75% rename from spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml rename to spring-boot-mybatis/generator/src/main/resources/mapper/SchoolMapper.xml index 673a547..848c9a1 100644 --- a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.xml +++ b/spring-boot-mybatis/generator/src/main/resources/mapper/SchoolMapper.xml @@ -5,7 +5,7 @@ @@ -14,7 +14,7 @@ id, name @@ -22,7 +22,7 @@ select @@ -33,32 +33,26 @@ delete from school where id = #{id,jdbcType=INTEGER} - + - - SELECT LAST_INSERT_ID() - insert into school (name) values (#{name,jdbcType=VARCHAR}) - + - - SELECT LAST_INSERT_ID() - insert into school @@ -75,7 +69,7 @@ update school @@ -89,7 +83,7 @@ update school set name = #{name,jdbcType=VARCHAR} diff --git a/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java index 25255e6..45ca10e 100644 --- a/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java +++ b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java @@ -1,10 +1,12 @@ package alex.dao; import java.util.List; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mybatis.spring.boot.test.autoconfigure.MybatisTest; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit.jupiter.SpringExtension; /** Created by qct on 2017/10/5. */ @@ -18,6 +20,7 @@ public class PersonExMapperTest { @Test public void queryIds() throws Exception { List ids = exMapper.queryIds(); - System.out.println(ids.size()); + + Assertions.assertEquals(1, ids.size()); } } diff --git a/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java index c2141e7..e85fb22 100644 --- a/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java +++ b/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java @@ -1,6 +1,8 @@ package alex.dao; import alex.dto.Person; +import java.util.List; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mybatis.spring.boot.test.autoconfigure.MybatisTest; @@ -15,10 +17,14 @@ public class PersonMapperTest { @Autowired private PersonMapper mapper; + @Autowired + private PersonExMapper exMapper; + @Test public void selectByPrimaryKey() throws Exception { - Person person = mapper.selectByPrimaryKey(5); - System.out.println(person); + Person person = mapper.selectByPrimaryKey(1); + + Assertions.assertEquals(1, person.getId()); } @Test @@ -30,5 +36,13 @@ public void insertSelective() throws Exception { p.setAge(22 + i); mapper.insertSelective(p); } + + List ids = exMapper.queryIds(); + Assertions.assertEquals(11, ids.size()); + + for (Integer id : ids) { + Person p = mapper.selectByPrimaryKey(id); + Assertions.assertNotNull(p); + } } } From eef5a40557f1edb66bb0c9866815f8ef1aa55661 Mon Sep 17 00:00:00 2001 From: qct Date: Mon, 27 Nov 2023 23:55:13 +0400 Subject: [PATCH 6/7] Rename module name --- spring-boot-mybatis/mybatis-generator/README.md | 6 ++++++ .../{generator => mybatis-generator}/pom.xml | 2 +- .../src/main/java/alex/GeneratorApplication.java | 0 .../src/main/java/alex/dao/PersonExMapper.java | 0 .../src/main/java/alex/dao/PersonMapper.java | 0 .../src/main/java/alex/dao/SchoolMapper.java | 0 .../src/main/java/alex/dto/Person.java | 0 .../src/main/java/alex/dto/School.java | 0 .../src/main/java/alex/plugin/DisableExamplePlugin.java | 0 .../src/main/java/alex/plugin/LombokPlugin.java | 0 .../src/main/java/alex/plugin/MapperPlusPlugin.java | 0 .../src/main/java/alex/plugin/NullSafePlugin.java | 0 .../src/main/java/alex/plugin/OptionalPlugin.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/generatorConfig.properties | 0 .../src/main/resources/generatorConfig.xml | 0 .../src/main/resources/mapper/PersonExMapper.xml | 0 .../src/main/resources/mapper/PersonMapper.xml | 0 .../src/main/resources/mapper/SchoolMapper.xml | 0 .../src/main/resources/sql/data-h2.sql | 0 .../src/main/resources/sql/schema-h2.sql | 0 .../src/test/java/alex/dao/PersonExMapperTest.java | 0 .../src/test/java/alex/dao/PersonMapperTest.java | 0 spring-boot-mybatis/pom.xml | 2 +- 24 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 spring-boot-mybatis/mybatis-generator/README.md rename spring-boot-mybatis/{generator => mybatis-generator}/pom.xml (98%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/GeneratorApplication.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/dao/PersonExMapper.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/dao/PersonMapper.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/dao/SchoolMapper.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/dto/Person.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/dto/School.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/plugin/DisableExamplePlugin.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/plugin/LombokPlugin.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/plugin/MapperPlusPlugin.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/plugin/NullSafePlugin.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/java/alex/plugin/OptionalPlugin.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/application.yml (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/generatorConfig.properties (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/generatorConfig.xml (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/mapper/PersonExMapper.xml (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/mapper/PersonMapper.xml (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/mapper/SchoolMapper.xml (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/sql/data-h2.sql (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/main/resources/sql/schema-h2.sql (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/test/java/alex/dao/PersonExMapperTest.java (100%) rename spring-boot-mybatis/{generator => mybatis-generator}/src/test/java/alex/dao/PersonMapperTest.java (100%) diff --git a/spring-boot-mybatis/mybatis-generator/README.md b/spring-boot-mybatis/mybatis-generator/README.md new file mode 100644 index 0000000..8ba1282 --- /dev/null +++ b/spring-boot-mybatis/mybatis-generator/README.md @@ -0,0 +1,6 @@ +How to generate: + +Set `generator.generate` to true + +Run `GeneratorApplication` + diff --git a/spring-boot-mybatis/generator/pom.xml b/spring-boot-mybatis/mybatis-generator/pom.xml similarity index 98% rename from spring-boot-mybatis/generator/pom.xml rename to spring-boot-mybatis/mybatis-generator/pom.xml index c7ce85e..3837874 100644 --- a/spring-boot-mybatis/generator/pom.xml +++ b/spring-boot-mybatis/mybatis-generator/pom.xml @@ -9,7 +9,7 @@ ../pom.xml - generator + mybatis-generator 0.1.0-SNAPSHOT jar diff --git a/spring-boot-mybatis/generator/src/main/java/alex/GeneratorApplication.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/GeneratorApplication.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/GeneratorApplication.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/GeneratorApplication.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/dao/PersonExMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonExMapper.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/dao/PersonMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/PersonMapper.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/dao/SchoolMapper.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dao/SchoolMapper.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/dto/Person.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/Person.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/dto/School.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/dto/School.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/dto/School.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/DisableExamplePlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/DisableExamplePlugin.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/plugin/DisableExamplePlugin.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/DisableExamplePlugin.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/LombokPlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/LombokPlugin.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/plugin/LombokPlugin.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/LombokPlugin.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/MapperPlusPlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/MapperPlusPlugin.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/plugin/MapperPlusPlugin.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/MapperPlusPlugin.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/NullSafePlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/NullSafePlugin.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/plugin/NullSafePlugin.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/NullSafePlugin.java diff --git a/spring-boot-mybatis/generator/src/main/java/alex/plugin/OptionalPlugin.java b/spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/OptionalPlugin.java similarity index 100% rename from spring-boot-mybatis/generator/src/main/java/alex/plugin/OptionalPlugin.java rename to spring-boot-mybatis/mybatis-generator/src/main/java/alex/plugin/OptionalPlugin.java diff --git a/spring-boot-mybatis/generator/src/main/resources/application.yml b/spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/application.yml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/application.yml diff --git a/spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/generatorConfig.properties rename to spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.properties diff --git a/spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/generatorConfig.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/generatorConfig.xml diff --git a/spring-boot-mybatis/generator/src/main/resources/mapper/PersonExMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/mapper/PersonExMapper.xml similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/mapper/PersonExMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/mapper/PersonExMapper.xml diff --git a/spring-boot-mybatis/generator/src/main/resources/mapper/PersonMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/mapper/PersonMapper.xml similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/mapper/PersonMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/mapper/PersonMapper.xml diff --git a/spring-boot-mybatis/generator/src/main/resources/mapper/SchoolMapper.xml b/spring-boot-mybatis/mybatis-generator/src/main/resources/mapper/SchoolMapper.xml similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/mapper/SchoolMapper.xml rename to spring-boot-mybatis/mybatis-generator/src/main/resources/mapper/SchoolMapper.xml diff --git a/spring-boot-mybatis/generator/src/main/resources/sql/data-h2.sql b/spring-boot-mybatis/mybatis-generator/src/main/resources/sql/data-h2.sql similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/sql/data-h2.sql rename to spring-boot-mybatis/mybatis-generator/src/main/resources/sql/data-h2.sql diff --git a/spring-boot-mybatis/generator/src/main/resources/sql/schema-h2.sql b/spring-boot-mybatis/mybatis-generator/src/main/resources/sql/schema-h2.sql similarity index 100% rename from spring-boot-mybatis/generator/src/main/resources/sql/schema-h2.sql rename to spring-boot-mybatis/mybatis-generator/src/main/resources/sql/schema-h2.sql diff --git a/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java b/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonExMapperTest.java similarity index 100% rename from spring-boot-mybatis/generator/src/test/java/alex/dao/PersonExMapperTest.java rename to spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonExMapperTest.java diff --git a/spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java b/spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java similarity index 100% rename from spring-boot-mybatis/generator/src/test/java/alex/dao/PersonMapperTest.java rename to spring-boot-mybatis/mybatis-generator/src/test/java/alex/dao/PersonMapperTest.java diff --git a/spring-boot-mybatis/pom.xml b/spring-boot-mybatis/pom.xml index 5a4e629..cb42bf9 100644 --- a/spring-boot-mybatis/pom.xml +++ b/spring-boot-mybatis/pom.xml @@ -14,7 +14,7 @@ pom - generator + mybatis-generator mybatis-plus From d88d01bb4d29edfa2f37e0c8a43458a47b559f83 Mon Sep 17 00:00:00 2001 From: qct Date: Tue, 28 Nov 2023 00:23:22 +0400 Subject: [PATCH 7/7] Add mybatis plus example --- spring-boot-mybatis/mybatis-plus/pom.xml | 56 +++++-------------- .../plus/MybatisPlusApplication.java} | 8 +-- .../java/alex/mybatis/plus/dto/Person.java | 44 +++++++++++++++ .../java/alex/mybatis/plus/dto/School.java | 26 +++++++++ .../mybatis/plus/mapper/PersonMapper.java | 11 ++++ .../mybatis/plus/mapper/SchoolMapper.java | 11 ++++ .../src/main/resources/application.yml | 20 ++++--- .../src/main/resources/sql/data-h2.sql | 1 + .../src/main/resources/sql/schema-h2.sql | 15 +++++ .../mybatis/plus/mapper/PersonMapperTest.java | 34 +++++++++++ 10 files changed, 171 insertions(+), 55 deletions(-) rename spring-boot-mybatis/mybatis-plus/src/main/java/alex/{Application.java => mybatis/plus/MybatisPlusApplication.java} (62%) create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/Person.java create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/School.java create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/PersonMapper.java create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/SchoolMapper.java create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/resources/sql/data-h2.sql create mode 100644 spring-boot-mybatis/mybatis-plus/src/main/resources/sql/schema-h2.sql create mode 100644 spring-boot-mybatis/mybatis-plus/src/test/java/alex/mybatis/plus/mapper/PersonMapperTest.java diff --git a/spring-boot-mybatis/mybatis-plus/pom.xml b/spring-boot-mybatis/mybatis-plus/pom.xml index d61c717..ac468a1 100644 --- a/spring-boot-mybatis/mybatis-plus/pom.xml +++ b/spring-boot-mybatis/mybatis-plus/pom.xml @@ -15,36 +15,31 @@ - org.mybatis.spring.boot - mybatis-spring-boot-starter - 3.0.3 + com.baomidou + mybatis-plus-boot-starter + 3.5.4.1 - com.mysql - mysql-connector-j + com.h2database + h2 + 2.2.224 + runtime - org.mybatis.generator - mybatis-generator-core - 1.4.2 + org.projectlombok + lombok + org.springframework.boot spring-boot-starter-test test - org.mybatis.spring.boot - mybatis-spring-boot-starter-test - 3.0.3 - test - - - com.h2database - h2 - 2.2.224 + com.baomidou + mybatis-plus-boot-starter-test + 3.5.4.1 test - @@ -53,31 +48,6 @@ org.springframework.boot spring-boot-maven-plugin - - exec - - - - org.mybatis.generator - mybatis-generator-maven-plugin - 1.4.2 - - ${project.basedir}/src/main/resources/generatorConfig.xml - true - true - - - - com.mysql - mysql-connector-j - ${mysql.version} - - - alex - spring-boot-mybatis - 0.1.0-SNAPSHOT - -
diff --git a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/MybatisPlusApplication.java similarity index 62% rename from spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java rename to spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/MybatisPlusApplication.java index 5d21b30..588b2b6 100644 --- a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/Application.java +++ b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/MybatisPlusApplication.java @@ -1,4 +1,4 @@ -package alex; +package alex.mybatis.plus; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -6,10 +6,10 @@ /** Created by qct on 2017/10/5. */ @SpringBootApplication -@MapperScan -public class Application { +@MapperScan("alex.mybatis.plus.mapper") +public class MybatisPlusApplication { public static void main(String[] args) { - SpringApplication.run(Application.class, args); + SpringApplication.run(MybatisPlusApplication.class, args); } } diff --git a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/Person.java b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/Person.java new file mode 100644 index 0000000..04707df --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/Person.java @@ -0,0 +1,44 @@ +package alex.mybatis.plus.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("`person`") +public class Person { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.id + * + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 + */ + private Integer id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.name + * + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 + */ + private String name; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.address + * + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 + */ + private String address; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column person.age + * + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 + */ + private Integer age; +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/School.java b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/School.java new file mode 100644 index 0000000..dfef730 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/dto/School.java @@ -0,0 +1,26 @@ +package alex.mybatis.plus.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("`school`") +public class School { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column school.id + * + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 + */ + private Integer id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column school.name + * + * @mbg.generated Mon Nov 27 23:50:17 GST 2023 + */ + private String name; +} \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/PersonMapper.java b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/PersonMapper.java new file mode 100644 index 0000000..8ef9cf0 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/PersonMapper.java @@ -0,0 +1,11 @@ +package alex.mybatis.plus.mapper; + +import alex.mybatis.plus.dto.Person; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

Created by qct on 2023/11/28. + */ +public interface PersonMapper extends BaseMapper { + +} diff --git a/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/SchoolMapper.java b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/SchoolMapper.java new file mode 100644 index 0000000..3d19d53 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/java/alex/mybatis/plus/mapper/SchoolMapper.java @@ -0,0 +1,11 @@ +package alex.mybatis.plus.mapper; + +import alex.mybatis.plus.dto.School; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

Created by qct on 2023/11/28. + */ +public interface SchoolMapper extends BaseMapper { + +} diff --git a/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml b/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml index 7e8e060..4ef8ee6 100644 --- a/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml +++ b/spring-boot-mybatis/mybatis-plus/src/main/resources/application.yml @@ -1,11 +1,15 @@ -debug: false -mybatis: - type-aliases-package: alex.dto spring: datasource: - driver-class-name: com.mysql.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowMultiQueries=true - username: root - password: root + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:testdb;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DB_CLOSE_DELAY=-1 + username: sa + password: sa + sql: + init: + mode: always + schema-locations: classpath:sql/schema-h2.sql + data-locations: classpath:sql/data-h2.sql + username: sa + password: sa main: - banner-mode: off \ No newline at end of file + banner-mode: off diff --git a/spring-boot-mybatis/mybatis-plus/src/main/resources/sql/data-h2.sql b/spring-boot-mybatis/mybatis-plus/src/main/resources/sql/data-h2.sql new file mode 100644 index 0000000..a52ddc2 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/resources/sql/data-h2.sql @@ -0,0 +1 @@ +insert into person (name, address, age) values ('zhangsan', 'beijing', 20); \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-plus/src/main/resources/sql/schema-h2.sql b/spring-boot-mybatis/mybatis-plus/src/main/resources/sql/schema-h2.sql new file mode 100644 index 0000000..e8b0173 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/main/resources/sql/schema-h2.sql @@ -0,0 +1,15 @@ +drop table if exists person; +create table person +( + id int auto_increment primary key, + name varchar(20) null, + address varchar(20) null, + age int null +); + +drop table if exists school; +create table school +( + id int auto_increment primary key, + name varchar(20) null +); \ No newline at end of file diff --git a/spring-boot-mybatis/mybatis-plus/src/test/java/alex/mybatis/plus/mapper/PersonMapperTest.java b/spring-boot-mybatis/mybatis-plus/src/test/java/alex/mybatis/plus/mapper/PersonMapperTest.java new file mode 100644 index 0000000..2926e31 --- /dev/null +++ b/spring-boot-mybatis/mybatis-plus/src/test/java/alex/mybatis/plus/mapper/PersonMapperTest.java @@ -0,0 +1,34 @@ +package alex.mybatis.plus.mapper; + +import alex.mybatis.plus.dto.Person; +import com.baomidou.mybatisplus.test.autoconfigure.MybatisPlusTest; +import java.util.List; +import lombok.extern.java.Log; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +/** + *

Created by qct on 2023/11/28. + */ +@ExtendWith(SpringExtension.class) +@MybatisPlusTest +@Log +public class PersonMapperTest { + + @Autowired + private PersonMapper personMapper; + + @Test + public void testSelect() { + log.info("----- selectAll method test ------"); + List people = personMapper.selectList(null); + + Assertions.assertEquals(1, people.size()); + people.forEach(p -> log.info(p.toString())); + + } + +} \ No newline at end of file