From c27a2433be0723559078f963cf70c75f577c75ec Mon Sep 17 00:00:00 2001 From: iqudoo Date: Sat, 23 May 2026 19:34:44 +0800 Subject: [PATCH] fix --- README.md | 69 +++++++++--------- ...-mybatis-generator-plugin-1.0-SNAPSHOT.jar | Bin 41069 -> 41168 bytes ...> TapeTableRepositoryGeneratorPlugin.java} | 2 +- ...=> TapeViewRepositoryGeneratorPlugin.java} | 4 +- 4 files changed, 37 insertions(+), 38 deletions(-) rename src/main/java/com/iqudoo/framework/mybatis/{TapeRepositoryGeneratorPlugin.java => TapeTableRepositoryGeneratorPlugin.java} (99%) rename src/main/java/com/iqudoo/framework/mybatis/{TapeRepoviewGeneratorPlugin.java => TapeViewRepositoryGeneratorPlugin.java} (99%) diff --git a/README.md b/README.md index 4da2cb1..c7a1976 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ 本插件为 MyBatis Generator 提供了以下增强功能: 1. **TapeMybatisGeneratorPlugin** - 扩展 MyBatis Mapper,添加 `selectPrimaryKeyByExample`, `batchInsert` 方法,拓展查询分页支持 -2. **TapeRepositoryGeneratorPlugin** - 为非视图表自动生成 Repository 接口和实现类,提供完整的 CRUD 和软删除功能 -3. **TapeRepoviewGeneratorPlugin** - 为视图表自动生成 RepoView 接口和实现类,提供查询功能 +2. **TapeTableRepositoryGeneratorPlugin** - 为非视图表自动生成 Repository 接口和实现类,提供完整的 CRUD 和软删除功能 +3. **TapeViewRepositoryGeneratorPlugin** - 为视图表自动生成 ViewRepository 接口和实现类,提供查询功能 ## 插件说明 @@ -19,13 +19,12 @@ - 在 Mapper 接口中添加 `selectPrimaryKeyByExample` 方法 - 在 Mapper XML 中生成对应的 SQL 查询语句 -### TapeRepositoryGeneratorPlugin +### TapeTableRepositoryGeneratorPlugin 为非视图表生成 Repository 层代码: - **接口位置**: `{facadeRepositoryPackage}.I{TableName}Repository` - **实现类位置**: `{domainRepositoryPackage}.{TableName}RepositoryImpl` -- **视图表过滤**: 根据 `viewKeyWords` 配置自动识别并跳过视图表 **生成的方法**: @@ -45,7 +44,7 @@ - `updateByExampleSelective({Model} record, {Example} example)` - 按条件更新记录 - `update({Model} record)` - 更新记录(支持乐观锁) -### TapeRepoviewGeneratorPlugin +### TapeViewRepositoryGeneratorPlugin 为视图表生成 RepoView 层代码: @@ -145,39 +144,39 @@ ```xml - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - + ``` diff --git a/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar b/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar index e693dd106c6777b47a21f229ebb6d78bd49a0fa1..9b4dc0bb3f7ec732aa2f7df5d8a27b9c67f76625 100644 GIT binary patch delta 31152 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%0Dy%-NG=lMVjfzwMbr$0n}35o|A4co4lLb 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 diff --git a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java b/src/main/java/com/iqudoo/framework/mybatis/TapeTableRepositoryGeneratorPlugin.java similarity index 99% rename from src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java rename to src/main/java/com/iqudoo/framework/mybatis/TapeTableRepositoryGeneratorPlugin.java index fb67a59..0abea55 100644 --- a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java +++ b/src/main/java/com/iqudoo/framework/mybatis/TapeTableRepositoryGeneratorPlugin.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; @SuppressWarnings({"DuplicatedCode", "unused", "SpellCheckingInspection", "ExtractMethodRecommender"}) -public class TapeRepositoryGeneratorPlugin extends PluginAdapter { +public class TapeTableRepositoryGeneratorPlugin extends PluginAdapter { // 固定配置项 private String slowQueryLoggerTime = "300"; diff --git a/src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java b/src/main/java/com/iqudoo/framework/mybatis/TapeViewRepositoryGeneratorPlugin.java similarity index 99% rename from src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java rename to src/main/java/com/iqudoo/framework/mybatis/TapeViewRepositoryGeneratorPlugin.java index 6cf7bb1..e5e81b6 100644 --- a/src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java +++ b/src/main/java/com/iqudoo/framework/mybatis/TapeViewRepositoryGeneratorPlugin.java @@ -18,7 +18,7 @@ import java.util.ArrayList; import java.util.List; @SuppressWarnings({"DuplicatedCode", "SpellCheckingInspection", "ExtractMethodRecommender"}) -public class TapeRepoviewGeneratorPlugin extends PluginAdapter { +public class TapeViewRepositoryGeneratorPlugin extends PluginAdapter { // 视图Repo包配置(可通过配置文件自定义) private String slowQueryLoggerTime = "300"; @@ -111,7 +111,7 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter { String exampleClassName = domainObjectName + "Example"; String mapperClassName = domainObjectName + "Mapper"; String repoInterfaceName = "I" + domainObjectName + domainViewRepositoryType; - String repoImplName = domainObjectName +domainViewRepositoryType+ "Impl"; + String repoImplName = domainObjectName + domainViewRepositoryType + "Impl"; boolean hasBLOBColumns = ElementTools.hasBLOBColumns(introspectedTable);