diff --git a/README.md b/README.md index 603a0d0..8acd24a 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,80 @@ # tape-mybatis-generator-plugin > MyBatis 代码生成插件 +## 功能特性 -## Uses -in `pom.xml` -``` +本插件为 MyBatis Generator 提供了以下增强功能: + +1. **TapeMybatisGeneratorPlugin** - 扩展 MyBatis Mapper,添加 `selectPrimaryKeyByExample` 方法,支持分页查询主键列表 +2. **TapeRepositoryGeneratorPlugin** - 为非视图表自动生成 Repository 接口和实现类,提供完整的 CRUD 和软删除功能 +3. **TapeRepoviewGeneratorPlugin** - 为视图表自动生成 RepoView 接口和实现类,提供查询功能 +4. **分页支持** - 为 Example 类自动添加分页相关字段和方法(offset、rows、usePage、limit 等) + +## 插件说明 + +### TapeMybatisGeneratorPlugin +扩展 MyBatis Mapper,添加以下功能: +- 在 Mapper 接口中添加 `selectPrimaryKeyByExample` 方法 +- 在 Mapper XML 中生成对应的 SQL 查询语句 +- 支持分页查询(通过 `AbstractWithLimitPlugin` 提供) + +### TapeRepositoryGeneratorPlugin +为非视图表生成 Repository 层代码: +- **接口位置**: `{facadeRepositoryPackage}.I{TableName}Repository` +- **实现类位置**: `{domainRepositoryPackage}.{TableName}RepositoryImpl` +- **视图表过滤**: 根据 `viewKeyWords` 配置自动识别并跳过视图表 + +**生成的方法**: +- `trashById(long id)` - 移动到回收站(单个) +- `trashAll({Example} example)` - 移动到回收站(批量) +- `deleteById(long id, boolean release)` - 删除(单个,支持物理删除) +- `deleteAll({Example} example, boolean release)` - 删除(批量,支持物理删除) +- `recoverById(long id)` - 从回收站恢复(单个) +- `recoverAll({Example} example)` - 从回收站恢复(批量) +- `findNoWhereById(long id)` - 查找(不区分有效/回收站) +- `findValidById(long id)` - 查找有效记录(单个) +- `findTrashById(long id)` - 查找回收站记录(单个) +- `findValidOne({Example} example)` - 查找有效记录(单个,支持条件) +- `findTrashOne({Example} example)` - 查找回收站记录(单个,支持条件) +- `getValidList({Example} example)` - 获取有效记录列表(支持分页) +- `getTrashList({Example} example)` - 获取回收站记录列表(支持分页) +- `countByValid({Example} example)` - 统计有效记录数 +- `countByTrash({Example} example)` - 统计回收站记录数 +- `insert({Model} record)` - 插入记录(自动生成 GUID、设置默认值) +- `update({Model} record)` - 更新记录(支持乐观锁) + +### TapeRepoviewGeneratorPlugin +为视图表生成 RepoView 层代码: +- **接口位置**: `{facadeRepoviewPackage}.I{TableName}Repo` +- **实现类位置**: `{domainRepoviewPackage}.{TableName}RepoImpl` +- **视图表识别**: 仅处理包含 `viewKeyWords` 关键字的表 + +**生成的方法**: +- `findOne({Example} example)` - 查找单条记录 +- `getList({Example} example)` - 获取记录列表(支持分页) +- `count({Example} example)` - 统计记录数 + +### 分页功能 +通过 `AbstractWithLimitPlugin` 为所有 Example 类添加分页支持: + +**添加的字段**: +- `offset` - 偏移量 +- `rows` - 每页数量 +- `minPageNum` - 最小页码(默认 1) +- `defaultPageSize` - 默认每页数量(默认 20) +- `maxPageSize` - 最大每页数量(默认 100) + +**添加的方法**: +- `limit(int rows)` - 设置每页数量 +- `limit(int offset, int rows)` - 设置偏移量和每页数量 +- `usePage(int pageNum, int pageSize)` - 使用页码和每页数量(自动计算 offset) +- `getPageNum()` - 获取当前页码 +- `getPageSize()` - 获取当前每页数量 + +## 使用方法 +### 1. 在 `pom.xml` 中配置插件 + +```xml application @@ -37,9 +107,9 @@ in `pom.xml` com.iqudoo.framework - tape-mybaits-generator-plugin + tape-mybatis-generator-plugin 1.0-SNAPSHOT - ${project.basedir}/src/lib/tape-mybaits-generator-plugin-1.0-SNAPSHOT.jar + ${project.basedir}/src/lib/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar system @@ -47,24 +117,58 @@ in `pom.xml` ``` -in `mybatis.generator.xml` -``` - - - - - - - - - - - +### 2. 在 `mybatis.generator.xml` 中配置插件 + +```xml + + + + + + + + + + + + + + + + + + + + ``` -## Table Template -``` +### 3. 配置参数说明 + +| 参数名 | 说明 | 默认值 | 必需 | +|--------|---------------------|--------------------------------------------------------|------| +| `viewKeyWords` | 视图表关键字(逗号分隔,不区分大小写) | `VIEW_,V_` | 否 | +| `targetProject` | 生成代码的目标项目路径 | `src/main/java` | 否 | +| `modelPackage` | Model 类的包路径 | `com.iqudoo.platform.application.database.model` | 是 | +| `mapperPackage` | Mapper 接口的包路径 | `com.iqudoo.platform.application.database.mapper` | 是 | +| `facadeRepositoryPackage` | Repository 接口的包路径 | `com.iqudoo.platform.application.facade.repository` | 否 | +| `domainRepositoryPackage` | Repository 实现类的包路径 | `com.iqudoo.platform.application.domain.repository` | 否 | +| `facadeRepoviewPackage` | RepoView 接口的包路径 | `com.iqudoo.platform.application.facade.repoview` | 否 | +| `snowflakeUtilClass` | 雪花算法ID生成工具类 | `com.iqudoo.framework.tape.modules.utils.SnowflakeUtil` | 否 | +| `snowflakeUtilGenId` | 雪花算法ID生成方法 | `SnowflakeUtil.nextId()` | 否 | + +**视图表识别规则**: +- 表名包含 `viewKeyWords` 中任一关键字的表将被识别为视图表,大小写不敏感 +- 视图表会生成 RepoView,不会生成 Repository +- 非视图表会生成 Repository,不会生成 RepoView + +## 数据库表结构要求 + +### 标准表结构模板 + +为了使用完整的 Repository 功能(软删除、回收站等),表结构需要包含以下标准字段: + +```sql DROP TABLE IF EXISTS `your_table_name`; CREATE TABLE `your_table_name` ( `guid` bigint(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'GUID', @@ -80,9 +184,24 @@ CREATE TABLE `your_table_name` ( PRIMARY KEY (`guid`) USING BTREE ) ENGINE = InnoDB COMMENT = '你的表格备注' ROW_FORMAT = Dynamic; ``` -in `mybatis.generator.xml` -``` - + +**必需字段说明**: +- `guid` - 主键,类型为 `bigint UNSIGNED` +- `is_hidden` - 隐藏标志,用于回收站功能 +- `is_delete` - 删除标志,用于软删除功能 +- `delete_token` - 删除令牌,用于标识删除状态 +- `data_version` - 数据版本,用于乐观锁 +- `create_time` - 创建时间,自动设置 +- `update_time` - 更新时间,自动更新 + +### 视图表结构 + +视图表不需要上述标准字段,只需要包含业务字段即可。 + +### 在 `mybatis.generator.xml` 中配置表 + +```xml +
+ + + + + +
``` + +## 注意事项 + +1. **主键要求**:表必须有一个主键字段,且字段名为 `guid`,类型为 `bigint UNSIGNED` +2. **视图表识别**:视图表通过表名中的关键字识别,默认关键字为 `view_` 和 `v_` 不区分大小写 +3. **分页功能**:所有 Example 类都自动包含分页功能,可通过 `usePage()` 方法使用 +4. **乐观锁**:更新操作使用 `data_version` 字段实现乐观锁,更新时需要传入正确的版本号 +5. **软删除**:删除操作默认是软删除(设置 `is_delete` 标志),可通过 `release=true` 参数执行物理删除 +6. **回收站**:通过 `is_hidden` 字段实现回收站功能,`trash` 方法将记录移动到回收站,`recover` 方法恢复记录 +7. **自动字段**:插入记录时,插件会自动设置 `guid`(使用雪花算法)、`is_delete`、`is_hidden`、`delete_token`、`data_version`、`create_time`、`update_time` 等字段 +8. **BLOB 字段支持**:如果表包含 BLOB 字段,插件会自动使用 `selectByExampleWithBLOBs` 和 `updateByExampleWithBLOBs` 方法 +9. **MyBatis Generator 版本**:本插件基于 MyBatis Generator 1.4.1 开发,建议使用 1.4.0 或更高版本 \ No newline at end of file diff --git a/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar b/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar index d079541..4a98c64 100644 Binary files a/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar and b/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar differ diff --git a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java b/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java index 8c293bc..35f29bc 100644 --- a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java +++ b/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java @@ -19,6 +19,8 @@ import java.util.Properties; public class TapeRepositoryGeneratorPlugin extends PluginAdapter { // 固定配置项 + private String snowflakeUtilClass = "com.iqudoo.framework.tape.modules.utils.SnowflakeUtil"; + private String snowflakeUtilGenId = "SnowflakeUtil.nextId()"; private String facadeRepositoryPackage = "com.iqudoo.platform.application.facade.repository"; private String domainRepositoryPackage = "com.iqudoo.platform.application.domain.repository"; private String modelPackage = "com.iqudoo.platform.application.database.model"; @@ -45,6 +47,12 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { public void setProperties(Properties properties) { super.setProperties(properties); // 读取自定义配置 + if (StringUtility.stringHasValue(properties.getProperty("snowflakeUtilClass"))) { + snowflakeUtilClass = properties.getProperty("snowflakeUtilClass"); + } + if (StringUtility.stringHasValue(properties.getProperty("snowflakeUtilGenId"))) { + snowflakeUtilGenId = properties.getProperty("snowflakeUtilGenId"); + } if (StringUtility.stringHasValue(properties.getProperty("facadeRepositoryPackage"))) { facadeRepositoryPackage = properties.getProperty("facadeRepositoryPackage"); } @@ -331,14 +339,6 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { FullyQualifiedJavaType superInterface = new FullyQualifiedJavaType(facadeRepositoryPackage + "." + interfaceName); implClass.addSuperInterface(superInterface); - // 修复Logger字段:添加static final修饰符 - Field loggerField = new Field("LOGGER", new FullyQualifiedJavaType("org.slf4j.Logger")); - loggerField.setVisibility(JavaVisibility.PRIVATE); - loggerField.setStatic(true); - loggerField.setFinal(true); - loggerField.setInitializationString("Tape.getLogger(" + implClassName + ".class)"); - implClass.addField(loggerField); - String mapperFieldName = lowerFirst(mapperClassName); Field mapperField = new Field(mapperFieldName, new FullyQualifiedJavaType(mapperPackage + "." + mapperClassName)); mapperField.setVisibility(JavaVisibility.PRIVATE); @@ -383,10 +383,10 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine(" return " + mapperFieldName + ".deleteByExample(" + exampleParamName + ");"); method.addBodyLine("}"); method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : " + exampleParamName + ".getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0);"); method.addBodyLine("}"); method.addBodyLine(modelClassName + " " + lowerFirst(modelClassName) + " = new " + modelClassName + "();"); - method.addBodyLine(lowerFirst(modelClassName) + ".setIsDelete(DatabaseCommonDataIsDeleteEnum.DELETED.getValue());"); + method.addBodyLine(lowerFirst(modelClassName) + ".setIsDelete(1);"); method.addBodyLine(lowerFirst(modelClassName) + ".setUpdateTime(new Date());"); method.addBodyLine("return " + mapperFieldName + ".updateByExampleSelective(" + lowerFirst(modelClassName) + ", " + exampleParamName + ");"); @@ -404,11 +404,11 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { // 方法体 method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : " + exampleParamName + ".getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue());"); - method.addBodyLine(" criteria.andIsHiddenEqualTo(DatabaseCommonDataIsHiddenEnum.NONE.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0);"); + method.addBodyLine(" criteria.andIsHiddenEqualTo(0);"); method.addBodyLine("}"); method.addBodyLine(modelClassName + " " + lowerFirst(modelClassName) + " = new " + modelClassName + "();"); - method.addBodyLine(lowerFirst(modelClassName) + ".setIsHidden(DatabaseCommonDataIsHiddenEnum.HIDDEN.getValue());"); + method.addBodyLine(lowerFirst(modelClassName) + ".setIsHidden(1);"); method.addBodyLine(lowerFirst(modelClassName) + ".setDeleteToken(" + lowerFirst(modelClassName) + ".getGuid() + \"\");"); method.addBodyLine(lowerFirst(modelClassName) + ".setUpdateTime(new Date());"); method.addBodyLine("return " + mapperFieldName + ".updateByExampleSelective(" + lowerFirst(modelClassName) + ", " + exampleParamName + ");"); @@ -427,11 +427,11 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { // 方法体 method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : " + exampleParamName + ".getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue());"); - method.addBodyLine(" criteria.andIsHiddenEqualTo(DatabaseCommonDataIsHiddenEnum.HIDDEN.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0);"); + method.addBodyLine(" criteria.andIsHiddenEqualTo(1);"); method.addBodyLine("}"); method.addBodyLine(modelClassName + " " + lowerFirst(modelClassName) + " = new " + modelClassName + "();"); - method.addBodyLine(lowerFirst(modelClassName) + ".setIsHidden(DatabaseCommonDataIsHiddenEnum.NONE.getValue());"); + method.addBodyLine(lowerFirst(modelClassName) + ".setIsHidden(0);"); method.addBodyLine(lowerFirst(modelClassName) + ".setDeleteToken(\"VALID\");"); method.addBodyLine(lowerFirst(modelClassName) + ".setUpdateTime(new Date());"); method.addBodyLine("return " + mapperFieldName + ".updateByExampleSelective(" + lowerFirst(modelClassName) + ", " + exampleParamName + ");"); @@ -490,16 +490,11 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { } private void addImportPackages(TopLevelClass implClass, String modelClassName, String exampleClassName, String mapperClassName, String interfaceName) { - implClass.addImportedType(new FullyQualifiedJavaType("com.iqudoo.framework.tape.Tape")); - implClass.addImportedType(new FullyQualifiedJavaType("com.iqudoo.framework.tape.modules.utils.SnowflakeUtil")); - implClass.addImportedType(new FullyQualifiedJavaType("com.iqudoo.framework.tape.modules.crud.DatabaseCommonDataIsDeleteEnum")); - implClass.addImportedType(new FullyQualifiedJavaType("com.iqudoo.framework.tape.modules.crud.DatabaseCommonDataIsHiddenEnum")); - implClass.addImportedType(new FullyQualifiedJavaType("com.iqudoo.framework.tape.modules.crud.DatabaseErrorConstants")); + implClass.addImportedType(new FullyQualifiedJavaType(snowflakeUtilClass)); implClass.addImportedType(new FullyQualifiedJavaType(mapperPackage + "." + mapperClassName)); implClass.addImportedType(new FullyQualifiedJavaType(modelPackage + "." + modelClassName)); implClass.addImportedType(new FullyQualifiedJavaType(modelPackage + "." + exampleClassName)); implClass.addImportedType(new FullyQualifiedJavaType(facadeRepositoryPackage + "." + interfaceName)); - implClass.addImportedType(new FullyQualifiedJavaType("org.slf4j.Logger")); implClass.addImportedType(new FullyQualifiedJavaType("org.springframework.stereotype.Repository")); implClass.addImportedType(new FullyQualifiedJavaType("javax.annotation.Resource")); implClass.addImportedType(new FullyQualifiedJavaType("java.util.ArrayList")); @@ -566,7 +561,7 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine("if (record.getGuid() != null) {"); method.addBodyLine(" aDo.setGuid(record.getGuid());"); method.addBodyLine("} else {"); - method.addBodyLine(" Long guid = SnowflakeUtil.nextId();"); + method.addBodyLine(" Long guid = " + snowflakeUtilGenId + ";"); method.addBodyLine(" aDo.setGuid(guid);"); method.addBodyLine("}"); @@ -583,8 +578,8 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine("aDo." + setterMethod + "(record." + getterMethod + "());"); } - method.addBodyLine("aDo.setIsDelete(DatabaseCommonDataIsDeleteEnum.NONE.getValue());"); - method.addBodyLine("aDo.setIsHidden(DatabaseCommonDataIsHiddenEnum.NONE.getValue());"); + method.addBodyLine("aDo.setIsDelete(0);"); + method.addBodyLine("aDo.setIsHidden(0);"); method.addBodyLine("aDo.setDeleteToken(\"VALID\");"); method.addBodyLine("aDo.setDataVersion(1);"); method.addBodyLine("aDo.setCreateTime(new Date());"); @@ -595,13 +590,12 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine(" return aDo;"); method.addBodyLine("}"); - method.addBodyLine("// 更新当前数据版本号和GUID"); + method.addBodyLine("// optimistic locking with data version and guid"); method.addBodyLine("record.setGuid(aDo.getGuid());"); method.addBodyLine("record.setDataVersion(aDo.getDataVersion());"); method.addBodyLine("record.setCreateTime(aDo.getCreateTime());"); method.addBodyLine("record.setUpdateTime(aDo.getUpdateTime());"); - method.addBodyLine("LOGGER.error(\"Database write failed, " + modelClassName + ": {}\", aDo);"); - method.addBodyLine("throw DatabaseErrorConstants.DATABASE_WRITE_ERROR;"); + method.addBodyLine("throw new Throwable(\"Database write failed, " + modelClassName + "\");"); implClass.addMethod(method); } @@ -617,7 +611,7 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine(modelClassName + " aDo = findValidById(record.getGuid());"); method.addBodyLine("if (aDo == null) {"); - method.addBodyLine(" throw DatabaseErrorConstants.DATABASE_RECORD_NOT_FOUND;"); + method.addBodyLine(" throw new Throwable(\"Database record not found, " + modelClassName + " guid:\" + record.getGuid());"); method.addBodyLine("}"); for (IntrospectedColumn column : introspectedTable.getAllColumns()) { @@ -645,7 +639,7 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine(" .andDataVersionEqualTo(lockDataVersion);"); method.addBodyLine("aDo.setDataVersion(aDo.getDataVersion() + 1);"); method.addBodyLine("aDo.setUpdateTime(new Date());"); - method.addBodyLine("// 更新当前数据版本号"); + method.addBodyLine("// update data version"); method.addBodyLine("record.setDataVersion(aDo.getDataVersion());"); method.addBodyLine("record.setUpdateTime(aDo.getUpdateTime());"); @@ -671,7 +665,7 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine("if (release) {"); method.addBodyLine(" return " + mapperFieldName + ".deleteByPrimaryKey(aDo.getGuid());"); method.addBodyLine("}"); - method.addBodyLine("aDo.setIsDelete(DatabaseCommonDataIsDeleteEnum.DELETED.getValue());"); + method.addBodyLine("aDo.setIsDelete(1);"); method.addBodyLine("aDo.setUpdateTime(new Date());"); method.addBodyLine("return " + mapperFieldName + ".updateByPrimaryKey(aDo);"); @@ -690,7 +684,7 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine("if (aDo == null) {"); method.addBodyLine(" return 0;"); method.addBodyLine("}"); - method.addBodyLine("aDo.setIsHidden(DatabaseCommonDataIsHiddenEnum.HIDDEN.getValue());"); + method.addBodyLine("aDo.setIsHidden(1);"); method.addBodyLine("aDo.setDeleteToken(aDo.getGuid() + \"\");"); method.addBodyLine("aDo.setUpdateTime(new Date());"); method.addBodyLine("return " + mapperFieldName + ".updateByPrimaryKey(aDo);"); @@ -710,10 +704,10 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addBodyLine("if (aDo == null) {"); method.addBodyLine(" return 0;"); method.addBodyLine("}"); - method.addBodyLine("if (aDo.getIsDelete() == DatabaseCommonDataIsDeleteEnum.DELETED.getValue()) {"); + method.addBodyLine("if (aDo.getIsDelete() == 1) {"); method.addBodyLine(" return 0;"); method.addBodyLine("}"); - method.addBodyLine("aDo.setIsHidden(DatabaseCommonDataIsHiddenEnum.NONE.getValue());"); + method.addBodyLine("aDo.setIsHidden(0);"); method.addBodyLine("aDo.setDeleteToken(\"VALID\");"); method.addBodyLine("aDo.setUpdateTime(new Date());"); method.addBodyLine("return " + mapperFieldName + ".updateByPrimaryKey(aDo);"); @@ -769,8 +763,8 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addException(new FullyQualifiedJavaType("Throwable")); method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : example.getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue())"); - method.addBodyLine(" .andIsHiddenEqualTo(DatabaseCommonDataIsHiddenEnum.NONE.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0)"); + method.addBodyLine(" .andIsHiddenEqualTo(0);"); method.addBodyLine("}"); method.addBodyLine("if (example.getRows() != null && example.getOffset() != null) {"); method.addBodyLine(" List primaryKeyList = " + mapperFieldName + ".selectPrimaryKeyByExample(example);"); @@ -799,8 +793,8 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addException(new FullyQualifiedJavaType("Throwable")); method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : example.getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue())"); - method.addBodyLine(" .andIsHiddenEqualTo(DatabaseCommonDataIsHiddenEnum.HIDDEN.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0)"); + method.addBodyLine(" .andIsHiddenEqualTo(1);"); method.addBodyLine("}"); method.addBodyLine("if (example.getRows() != null && example.getOffset() != null) {"); method.addBodyLine(" List primaryKeyList = " + mapperFieldName + ".selectPrimaryKeyByExample(example);"); @@ -828,8 +822,8 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addException(new FullyQualifiedJavaType("Throwable")); method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : example.getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue())"); - method.addBodyLine(" .andIsHiddenEqualTo(DatabaseCommonDataIsHiddenEnum.NONE.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0)"); + method.addBodyLine(" .andIsHiddenEqualTo(0);"); method.addBodyLine("}"); method.addBodyLine("return " + mapperFieldName + ".countByExample(example);"); @@ -845,8 +839,8 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { method.addException(new FullyQualifiedJavaType("Throwable")); method.addBodyLine("for (" + exampleClassName + ".Criteria criteria : example.getOredCriteria()) {"); - method.addBodyLine(" criteria.andIsDeleteEqualTo(DatabaseCommonDataIsDeleteEnum.NONE.getValue())"); - method.addBodyLine(" .andIsHiddenEqualTo(DatabaseCommonDataIsHiddenEnum.HIDDEN.getValue());"); + method.addBodyLine(" criteria.andIsDeleteEqualTo(0)"); + method.addBodyLine(" .andIsHiddenEqualTo(1);"); method.addBodyLine("}"); method.addBodyLine("return " + mapperFieldName + ".countByExample(example);"); diff --git a/target/apidocs/allclasses-frame.html b/target/apidocs/allclasses-frame.html index e939973..0d1141b 100644 --- a/target/apidocs/allclasses-frame.html +++ b/target/apidocs/allclasses-frame.html @@ -2,7 +2,7 @@ - + 所有类 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/allclasses-noframe.html b/target/apidocs/allclasses-noframe.html index 863dbe6..138674b 100644 --- a/target/apidocs/allclasses-noframe.html +++ b/target/apidocs/allclasses-noframe.html @@ -2,7 +2,7 @@ - + 所有类 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/TapeMybatisGeneratorPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/TapeMybatisGeneratorPlugin.html index 77c10ed..11ee40d 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/TapeMybatisGeneratorPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/TapeMybatisGeneratorPlugin.html @@ -2,7 +2,7 @@ - + TapeMybatisGeneratorPlugin (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.html index 21b29a6..fef0a4d 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.html @@ -2,7 +2,7 @@ - + TapeRepositoryGeneratorPlugin (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.html index 3b3784e..4abd874 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.html @@ -2,7 +2,7 @@ - + TapeRepoviewGeneratorPlugin (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/AbstractWithLimitPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/AbstractWithLimitPlugin.html index f39ce4d..6d6b833 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/AbstractWithLimitPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/AbstractWithLimitPlugin.html @@ -2,7 +2,7 @@ - + AbstractWithLimitPlugin (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/class-use/AbstractWithLimitPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/class-use/AbstractWithLimitPlugin.html index 9419614..f338d90 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/class-use/AbstractWithLimitPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/class-use/AbstractWithLimitPlugin.html @@ -2,7 +2,7 @@ - + 类 com.iqudoo.framework.mybatis.abstracts.AbstractWithLimitPlugin的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-frame.html b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-frame.html index 5f17718..016c86c 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-frame.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-frame.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.abstracts (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-summary.html b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-summary.html index af2b9d7..ddfa08d 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-summary.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-summary.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.abstracts (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-tree.html b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-tree.html index 72b0559..b48aa6d 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-tree.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-tree.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.abstracts 类分层结构 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-use.html b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-use.html index ee2afd0..2049c1f 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-use.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/abstracts/package-use.html @@ -2,7 +2,7 @@ - + 程序包 com.iqudoo.framework.mybatis.abstracts的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeMybatisGeneratorPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeMybatisGeneratorPlugin.html index 3c6b20c..00b7cff 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeMybatisGeneratorPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeMybatisGeneratorPlugin.html @@ -2,7 +2,7 @@ - + 类 com.iqudoo.framework.mybatis.TapeMybatisGeneratorPlugin的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepositoryGeneratorPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepositoryGeneratorPlugin.html index ae62b7e..06ed242 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepositoryGeneratorPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepositoryGeneratorPlugin.html @@ -2,7 +2,7 @@ - + 类 com.iqudoo.framework.mybatis.TapeRepositoryGeneratorPlugin的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepoviewGeneratorPlugin.html b/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepoviewGeneratorPlugin.html index 954a92f..565ccee 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepoviewGeneratorPlugin.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/class-use/TapeRepoviewGeneratorPlugin.html @@ -2,7 +2,7 @@ - + 类 com.iqudoo.framework.mybatis.TapeRepoviewGeneratorPlugin的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/hook/ISelectSelectivePluginHook.html b/target/apidocs/com/iqudoo/framework/mybatis/hook/ISelectSelectivePluginHook.html index 54602ab..465a06b 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/hook/ISelectSelectivePluginHook.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/hook/ISelectSelectivePluginHook.html @@ -2,7 +2,7 @@ - + ISelectSelectivePluginHook (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/hook/class-use/ISelectSelectivePluginHook.html b/target/apidocs/com/iqudoo/framework/mybatis/hook/class-use/ISelectSelectivePluginHook.html index 12d4882..6a7f8a6 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/hook/class-use/ISelectSelectivePluginHook.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/hook/class-use/ISelectSelectivePluginHook.html @@ -2,7 +2,7 @@ - + 接口 com.iqudoo.framework.mybatis.hook.ISelectSelectivePluginHook的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-frame.html b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-frame.html index ed74118..84ba5a5 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-frame.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-frame.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.hook (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-summary.html b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-summary.html index 12200e5..10e841c 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-summary.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-summary.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.hook (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-tree.html b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-tree.html index a8faf98..bd5c3f5 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-tree.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-tree.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.hook 类分层结构 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-use.html b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-use.html index edb8378..d35aa9f 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/hook/package-use.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/hook/package-use.html @@ -2,7 +2,7 @@ - + 程序包 com.iqudoo.framework.mybatis.hook的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/package-frame.html b/target/apidocs/com/iqudoo/framework/mybatis/package-frame.html index af84265..e7e32b0 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/package-frame.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/package-frame.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/package-summary.html b/target/apidocs/com/iqudoo/framework/mybatis/package-summary.html index 041ffbc..1b8763a 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/package-summary.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/package-summary.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/package-tree.html b/target/apidocs/com/iqudoo/framework/mybatis/package-tree.html index a71701b..2a5dea9 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/package-tree.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/package-tree.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis 类分层结构 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/package-use.html b/target/apidocs/com/iqudoo/framework/mybatis/package-use.html index 80da010..4967857 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/package-use.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/package-use.html @@ -2,7 +2,7 @@ - + 程序包 com.iqudoo.framework.mybatis的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/ElementTools.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/ElementTools.html index f6a8707..5febf52 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/ElementTools.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/ElementTools.html @@ -2,7 +2,7 @@ - + ElementTools (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/FormatTools.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/FormatTools.html index 4b3ea1e..2bc5014 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/FormatTools.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/FormatTools.html @@ -2,7 +2,7 @@ - + FormatTools (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/ElementTools.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/ElementTools.html index 1c6cf55..989c84f 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/ElementTools.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/ElementTools.html @@ -2,7 +2,7 @@ - + 类 com.iqudoo.framework.mybatis.utils.ElementTools的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/FormatTools.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/FormatTools.html index 58427e4..6d39bfb 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/FormatTools.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/class-use/FormatTools.html @@ -2,7 +2,7 @@ - + 类 com.iqudoo.framework.mybatis.utils.FormatTools的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-frame.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-frame.html index 2de7696..c4d0ace 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-frame.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-frame.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.utils (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-summary.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-summary.html index ef1219e..237678f 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-summary.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-summary.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.utils (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-tree.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-tree.html index e1bd188..11ced47 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-tree.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-tree.html @@ -2,7 +2,7 @@ - + com.iqudoo.framework.mybatis.utils 类分层结构 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-use.html b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-use.html index 2a2ef95..e877991 100644 --- a/target/apidocs/com/iqudoo/framework/mybatis/utils/package-use.html +++ b/target/apidocs/com/iqudoo/framework/mybatis/utils/package-use.html @@ -2,7 +2,7 @@ - + 程序包 com.iqudoo.framework.mybatis.utils的使用 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/constant-values.html b/target/apidocs/constant-values.html index 3fdc965..86a1a1e 100644 --- a/target/apidocs/constant-values.html +++ b/target/apidocs/constant-values.html @@ -2,7 +2,7 @@ - + 常量字段值 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/deprecated-list.html b/target/apidocs/deprecated-list.html index 2c89d2f..3d344c5 100644 --- a/target/apidocs/deprecated-list.html +++ b/target/apidocs/deprecated-list.html @@ -2,7 +2,7 @@ - + 已过时的列表 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/help-doc.html b/target/apidocs/help-doc.html index fc92e47..e890aaf 100644 --- a/target/apidocs/help-doc.html +++ b/target/apidocs/help-doc.html @@ -2,7 +2,7 @@ - + API 帮助 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/index-all.html b/target/apidocs/index-all.html index 08b0687..c1be2db 100644 --- a/target/apidocs/index-all.html +++ b/target/apidocs/index-all.html @@ -2,7 +2,7 @@ - + 索引 (tape-mybatis-generator-plugin 1.0-SNAPSHOT API) diff --git a/target/apidocs/index.html b/target/apidocs/index.html index fc20996..a100034 100644 --- a/target/apidocs/index.html +++ b/target/apidocs/index.html @@ -2,7 +2,7 @@ - + tape-mybatis-generator-plugin 1.0-SNAPSHOT API