From caeaad64267ae9ab182129269b15294cadb74a9f Mon Sep 17 00:00:00 2001 From: iqudoo Date: Thu, 9 Apr 2026 16:41:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=9F=E6=88=90=E6=8F=92?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++- ...-mybatis-generator-plugin-1.0-SNAPSHOT.jar | Bin 30082 -> 30435 bytes .../TapeRepositoryGeneratorPlugin.java | 36 ++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e81a0ac..ed80025 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ - `countByValid({Example} example)` - 统计有效记录数 - `countByTrash({Example} example)` - 统计回收站记录数 - `insert({Model} record)` - 插入记录(自动生成 GUID、设置默认值) +- `updateByExampleSelective({Model} record, {Example} example)` - 按条件更新记录 - `update({Model} record)` - 更新记录(支持乐观锁) ### TapeRepoviewGeneratorPlugin @@ -54,8 +55,8 @@ - `getList({Example} example)` - 获取记录列表(支持分页) - `count({Example} example)` - 统计记录数 -### 分页功能 -通过 `AbstractWithLimitPlugin` 为所有 Example 类添加分页支持: +### 其他功能 +通过 `TapeMybatisGeneratorPlugin` 为所有 Example 类添加支持: **添加的字段**: - `offset` - 偏移量 @@ -64,6 +65,7 @@ - `ignorePageSize` - 忽略分页数量(默认 10000)每页数量大于10000时,忽略分页 - `defaultPageSize` - 默认每页数量(默认 20) - `maxPageSize` - 最大每页数量(默认 100) +- `withBLOBs` - 是否返回BLOBs列的数据 **添加的方法**: - `limit(int rows)` - 设置每页数量 @@ -71,6 +73,8 @@ - `usePage(int pageNum, int pageSize)` - 使用页码和每页数量(自动计算 offset) - `getPageNum()` - 获取当前页码 - `getPageSize()` - 获取当前每页数量 +- `setWithBLOBs(boolean withBLOBs)` - 设置是否返回BLOBs列的数据 +- `isWithBLOBs()` - 是否返回BLOBs列的数据 ## 使用方法 ### 1. 在 `pom.xml` 中配置插件 diff --git a/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar b/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar index d33ecb3361c4f251421ddb08e34b19ab298481c7..5c4df26dbd4700d9cca2d44584db5a5fe274b34d 100644 GIT binary patch delta 11436 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 WK9mUZ9)GvAGhBS}P_R7z)BHbfhPAr@ delta 11090 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 QLQ0$T#el1F|L?v32f}U!w*UYD diff --git a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java b/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java index adbc613..7d4a367 100644 --- a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java +++ b/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java @@ -312,6 +312,16 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { updateMethod.setAbstract(true); repositoryInterface.addMethod(updateMethod); + // 17. updateByExampleSelective + Method updateByExampleSelectiveMethod = new Method("updateByExampleSelective"); + updateByExampleSelectiveMethod.setVisibility(JavaVisibility.PUBLIC); + updateByExampleSelectiveMethod.setReturnType(new FullyQualifiedJavaType("int")); + updateByExampleSelectiveMethod.addParameter(new Parameter(new FullyQualifiedJavaType(modelClassName), "record")); + updateByExampleSelectiveMethod.addParameter(new Parameter(new FullyQualifiedJavaType(exampleClassName), "example")); + updateByExampleSelectiveMethod.addException(new FullyQualifiedJavaType("Throwable")); + updateByExampleSelectiveMethod.setAbstract(true); + repositoryInterface.addMethod(updateByExampleSelectiveMethod); + return repositoryInterface; } @@ -349,6 +359,7 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { generateFindTrashByIdMethod(implClass, modelClassName, mapperFieldName, exampleClassName); generateInsertMethod(implClass, modelClassName, mapperFieldName, introspectedTable); generateUpdateMethod(implClass, modelClassName, exampleClassName, mapperFieldName, introspectedTable, hasBLOBColumns); + generateUpdateByExampleSelectiveMethod(implClass, modelClassName, exampleClassName, mapperFieldName); generateDeleteByIdMethod(implClass, modelClassName, mapperFieldName); generateDeleteAllMethod(implClass, modelClassName, exampleClassName, mapperFieldName); generateTrashByIdMethod(implClass, modelClassName, mapperFieldName); @@ -637,6 +648,31 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { implClass.addMethod(method); } + private void generateUpdateByExampleSelectiveMethod(TopLevelClass implClass, String modelClassName, String exampleClassName, String mapperFieldName) { + Method method = new Method("updateByExampleSelective"); + method.addAnnotation("@Override"); + method.setVisibility(JavaVisibility.PUBLIC); + method.setReturnType(new FullyQualifiedJavaType("int")); + method.addParameter(new Parameter(new FullyQualifiedJavaType(modelClassName), "record")); + method.addParameter(new Parameter(new FullyQualifiedJavaType(exampleClassName), "example")); + method.addException(new FullyQualifiedJavaType("Throwable")); + + // 方法体 + method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : example.getOredCriteria()) {"); + method.addBodyLine("criteria.andIsDeleteEqualTo(0).andIsHiddenEqualTo(0);"); + method.addBodyLine("}"); + method.addBodyLine("record.setUpdateTime(new Date());"); + method.addBodyLine("// It is not supported to directly modify the following columns"); + method.addBodyLine("record.setIsHidden(null);"); + method.addBodyLine("record.setIsDelete(null);"); + method.addBodyLine("record.setDeleteToken(null);"); + method.addBodyLine("record.setDataVersion(null);"); + method.addBodyLine("record.setCreateTime(null);"); + method.addBodyLine("return " + mapperFieldName + ".updateByExampleSelective(record, example);"); + + implClass.addMethod(method); + } + private void generateDeleteByIdMethod(TopLevelClass implClass, String modelClassName, String mapperFieldName) { Method method = new Method("deleteById"); method.addAnnotation("@Override");