gitextract_7cwa3873/ ├── .editorconfig ├── .gitee/ │ ├── ISSUE_TEMPLATE.zh-CN.md │ └── PULL_REQUEST_TEMPLATE.zh-CN.md ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── dependabot.yml │ └── workflows/ │ ├── gradle.yml │ └── publish.yml ├── CHANGELOG.md ├── LICENSE ├── MPCodeStyle.xml ├── README-zh.md ├── README.md ├── build.gradle ├── changelog-temp.md ├── gradle.properties ├── libs/ │ └── jdbcDriver-18.jar ├── license.txt ├── mybatis-plus/ │ ├── build.gradle │ └── src/ │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ ├── BaseDbTest.java │ │ ├── DbTypeTest.java │ │ ├── MybatisTest.java │ │ ├── OgnlTest.java │ │ ├── PageTest.java │ │ ├── autoresultmap/ │ │ │ ├── AutoResultMapTest.java │ │ │ ├── Entity.java │ │ │ └── EntityMapper.java │ │ ├── batch/ │ │ │ ├── BatchTest.java │ │ │ ├── Entity.java │ │ │ └── EntityMapper.java │ │ ├── cache/ │ │ │ ├── page/ │ │ │ │ ├── PageCache.java │ │ │ │ ├── PageCacheMapper.java │ │ │ │ └── PageCacheTest.java │ │ │ └── xml/ │ │ │ ├── XmlCache.java │ │ │ ├── XmlCacheMapper.java │ │ │ └── XmlCacheTest.java │ │ ├── chainwrapper/ │ │ │ ├── ChainWrapperTest.java │ │ │ ├── ChainWrappersTest.java │ │ │ ├── Entity.java │ │ │ └── EntityMapper.java │ │ ├── enums/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ ├── EnumInt.java │ │ │ ├── EnumOrdinal.java │ │ │ ├── EnumStr.java │ │ │ └── EnumTest.java │ │ ├── fill/ │ │ │ ├── FillEntity.java │ │ │ ├── FillMapper.java │ │ │ └── FillTest.java │ │ ├── gaussdb/ │ │ │ ├── Demo.java │ │ │ ├── DemoMapper.java │ │ │ └── GaussdbTest.java │ │ ├── h2/ │ │ │ ├── ActiveRecordTest.java │ │ │ ├── BaseTest.java │ │ │ ├── CustomFillTest.java │ │ │ ├── FillPerformanceTest.java │ │ │ ├── H2Delete1Eq1Test.java │ │ │ ├── H2KeyGeneratorTest.java │ │ │ ├── H2LogicDeleteTest.java │ │ │ ├── H2MetaObjectHandler.java │ │ │ ├── H2StudentMapperTest.java │ │ │ ├── H2UserMapperTest.java │ │ │ ├── H2UserStrategyTest.java │ │ │ ├── H2UserTest.java │ │ │ ├── H2userNameJsonTypeHandler.java │ │ │ ├── LastSqlTest.java │ │ │ ├── MybatisMapperRegistryTest.java │ │ │ ├── SqlRunnerTest.java │ │ │ ├── TestXmlConfig.java │ │ │ ├── cache/ │ │ │ │ ├── CacheConfig.java │ │ │ │ ├── CacheTest.java │ │ │ │ ├── CustomCache.java │ │ │ │ ├── CustomPage.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── CacheMapper.java │ │ │ │ ├── model/ │ │ │ │ │ └── CacheModel.java │ │ │ │ └── service/ │ │ │ │ ├── ICacheService.java │ │ │ │ └── impl/ │ │ │ │ └── CacheServiceImpl.java │ │ │ ├── config/ │ │ │ │ ├── DBConfig.java │ │ │ │ ├── MybatisPlusConfig.java │ │ │ │ ├── MybatisPlusConfigLogicDelete.java │ │ │ │ └── MybatisXmlConfig.java │ │ │ ├── customfill/ │ │ │ │ ├── CustomFillConfig.java │ │ │ │ ├── annotation/ │ │ │ │ │ └── InsertUpdateFill.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── TestModelMapper.java │ │ │ │ └── model/ │ │ │ │ └── TestModel.java │ │ │ ├── entity/ │ │ │ │ ├── H2Addr.java │ │ │ │ ├── H2Student.java │ │ │ │ ├── H2User.java │ │ │ │ ├── H2UserLogicDelete.java │ │ │ │ ├── H2UserStrategy.java │ │ │ │ ├── SuSuperEntity.java │ │ │ │ ├── SuSuperEntityCamel.java │ │ │ │ ├── SuperEntity.java │ │ │ │ └── SuperEntityCamel.java │ │ │ ├── enums/ │ │ │ │ ├── AgeEnum.java │ │ │ │ ├── GenderEnum.java │ │ │ │ └── GradeEnum.java │ │ │ ├── fillperformance/ │ │ │ │ ├── FillPerformanceConfig.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── PerformanceModelMapper.java │ │ │ │ ├── model/ │ │ │ │ │ └── PerformanceModel.java │ │ │ │ └── service/ │ │ │ │ ├── IPerformanceModelService.java │ │ │ │ └── impl/ │ │ │ │ └── PerformanceModelServiceImpl.java │ │ │ ├── idgenerator/ │ │ │ │ ├── CustomIdGenerator.java │ │ │ │ ├── IdGeneratorConfig.java │ │ │ │ ├── IdentifierGeneratorTest.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── BigDecimalIdGeneratorMapper.java │ │ │ │ │ ├── BigIntegerIdGeneratorMapper.java │ │ │ │ │ ├── IntegerIdGeneratorMapper.java │ │ │ │ │ ├── IntegerStringIdGeneratorMapper.java │ │ │ │ │ ├── LongIdGeneratorMapper.java │ │ │ │ │ ├── LongStringIdGeneratorMapper.java │ │ │ │ │ └── StringIdGeneratorMapper.java │ │ │ │ └── model/ │ │ │ │ ├── BigDecimalIdGeneratorModel.java │ │ │ │ ├── BigIntegerIdGeneratorModel.java │ │ │ │ ├── IntegerIdGeneratorModel.java │ │ │ │ ├── IntegerStringIdGeneratorModel.java │ │ │ │ ├── LongIdGeneratorModel.java │ │ │ │ ├── LongStringIdGeneratorModel.java │ │ │ │ └── StringIdGeneratorModel.java │ │ │ ├── issues/ │ │ │ │ ├── aop/ │ │ │ │ │ ├── AopConfig1.java │ │ │ │ │ ├── AopConfig2.java │ │ │ │ │ ├── AppConfig.java │ │ │ │ │ ├── MultiAopTest.java │ │ │ │ │ ├── NoAopTest.java │ │ │ │ │ ├── SingleAopTest.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ └── Demo.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── DemoMapper.java │ │ │ │ │ └── service/ │ │ │ │ │ ├── IDemoService.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── DemoServiceImpl.java │ │ │ │ ├── genericid/ │ │ │ │ │ ├── GenericIdTest.java │ │ │ │ │ ├── MybatisPlusConfig.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── LongEntity.java │ │ │ │ │ │ ├── StringEntity.java │ │ │ │ │ │ └── SuperEntity.java │ │ │ │ │ └── mapper/ │ │ │ │ │ ├── LongEntityMapper.java │ │ │ │ │ └── StringEntityMapper.java │ │ │ │ └── repositoryscan/ │ │ │ │ ├── AppConfig.java │ │ │ │ ├── AppConfigWithMapperScan.java │ │ │ │ ├── RepositoryDefaultScanTest.java │ │ │ │ ├── RepositoryMapperScanTest.java │ │ │ │ ├── entity/ │ │ │ │ │ └── Demo.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── DemoRepositoryMapper.java │ │ │ │ └── service/ │ │ │ │ ├── IDemoRepositoryService.java │ │ │ │ └── impl/ │ │ │ │ └── DemoRepositoryServiceImpl.java │ │ │ ├── keygenerator/ │ │ │ │ ├── KeyGeneratorConfig.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── ExtendKeyGeneratorMapper.java │ │ │ │ │ ├── IntegerKeyGeneratorMapper.java │ │ │ │ │ ├── KeyGeneratorMapper.java │ │ │ │ │ ├── LongKeyGeneratorMapper.java │ │ │ │ │ └── StringKeyGeneratorMapper.java │ │ │ │ └── model/ │ │ │ │ ├── BaseMode.java │ │ │ │ ├── ExtendKeyGeneratorModel.java │ │ │ │ ├── IntegerKeyGeneratorModel.java │ │ │ │ ├── KeyGeneratorModel.java │ │ │ │ ├── LongKeyGeneratorModel.java │ │ │ │ └── StringKeyGeneratorModel.java │ │ │ ├── mapper/ │ │ │ │ ├── H2StudentMapper.java │ │ │ │ ├── H2UserLogicDeleteMapper.java │ │ │ │ ├── H2UserMapper.java │ │ │ │ ├── H2UserStrategyMapper.java │ │ │ │ └── SuperMapper.java │ │ │ ├── service/ │ │ │ │ ├── IH2StudentService.java │ │ │ │ ├── IH2UserService.java │ │ │ │ └── impl/ │ │ │ │ ├── H2StudentServiceImpl.java │ │ │ │ └── H2UserServiceImpl.java │ │ │ └── tenant/ │ │ │ ├── CustomCacheExecutor.java │ │ │ ├── TenantConfig.java │ │ │ ├── TenantTest.java │ │ │ ├── mapper/ │ │ │ │ └── StudentMapper.java │ │ │ ├── model/ │ │ │ │ └── Student.java │ │ │ └── service/ │ │ │ ├── IStudentService.java │ │ │ └── impl/ │ │ │ └── StudentServiceImpl.java │ │ ├── json/ │ │ │ ├── FastJson2Entity.java │ │ │ ├── FastJson2EntityMapper.java │ │ │ ├── FastJsonEntity.java │ │ │ ├── FastJsonEntityMapper.java │ │ │ ├── Fastjson2Test.java │ │ │ ├── FastjsonTest.java │ │ │ ├── GsonEntity.java │ │ │ ├── GsonEntityMapper.java │ │ │ ├── GsonTest.java │ │ │ ├── JackJsonEntity.java │ │ │ ├── JackJsonEntityMapper.java │ │ │ └── JacksonTest.java │ │ ├── logicdel/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── LogicDelTest.java │ │ ├── multisqlsessionfactory/ │ │ │ ├── AppConfig.java │ │ │ ├── MultiSqlSessionFactoryTest.java │ │ │ ├── a/ │ │ │ │ ├── entity/ │ │ │ │ │ └── AEntity.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── AEntityMapper.java │ │ │ │ └── service/ │ │ │ │ ├── AEntityService.java │ │ │ │ └── impl/ │ │ │ │ └── AEntityServiceImpl.java │ │ │ └── b/ │ │ │ ├── entity/ │ │ │ │ └── BEntity.java │ │ │ ├── mapper/ │ │ │ │ └── BEntityMapper.java │ │ │ └── service/ │ │ │ ├── BEntityService.java │ │ │ └── impl/ │ │ │ └── BEntityServiceImpl.java │ │ ├── non/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── NonTest.java │ │ ├── optimisticlocker/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── OptimisticLockerTest.java │ │ ├── orderby/ │ │ │ ├── OrderByEntity.java │ │ │ ├── OrderByMapper.java │ │ │ └── OrderByMapperTest.java │ │ ├── phoenix/ │ │ │ ├── PhoenixBaseMapper.java │ │ │ ├── PhoenixTest.java │ │ │ ├── config/ │ │ │ │ ├── DBConfig.java │ │ │ │ └── MybatisPlusConfig.java │ │ │ ├── entity/ │ │ │ │ └── PhoenixTestInfo.java │ │ │ └── mapper/ │ │ │ └── PhoenixTestInfoMapper.java │ │ ├── pom/ │ │ │ └── GeneratePomTest.java │ │ ├── postgresql/ │ │ │ ├── PostgresqlTest.java │ │ │ ├── config/ │ │ │ │ └── PostgresqlConfig.java │ │ │ ├── entity/ │ │ │ │ └── Pgtable.java │ │ │ ├── mapper/ │ │ │ │ └── PgtableMappper.java │ │ │ └── service/ │ │ │ ├── IPgtableService.java │ │ │ └── impl/ │ │ │ └── PgtableServiceImpl.java │ │ ├── puginsome/ │ │ │ ├── A.java │ │ │ ├── AMapper.java │ │ │ ├── B.java │ │ │ ├── BMapper.java │ │ │ └── PluginSomeTest.java │ │ ├── record/ │ │ │ ├── RecordEntity.java │ │ │ ├── RecordEntityMapper.java │ │ │ └── RecordEntityTest.java │ │ ├── reflection/ │ │ │ └── ExampleObjectFactory.java │ │ ├── replaceplaceholder/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ ├── EntitySubMapper.java │ │ │ └── ReplacePlaceholderTest.java │ │ ├── resultmap/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── ResultMapTest.java │ │ ├── rewrite/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── RewriteTest.java │ │ ├── scheam/ │ │ │ ├── SchemaEntity.java │ │ │ ├── SchemaEntityMapper.java │ │ │ └── SchemaEntityTest.java │ │ ├── sqlrunner/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── SqlRunnerTest.java │ │ ├── strategy/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── StrategyTest.java │ │ ├── tenant/ │ │ │ ├── Entity.java │ │ │ ├── EntityMapper.java │ │ │ └── TenantTest.java │ │ ├── toolkit/ │ │ │ ├── DbTest.java │ │ │ ├── JdbcUtilsTest.java │ │ │ ├── SimpleQueryTest.java │ │ │ ├── SqlHelperTest.java │ │ │ └── StringUtilsTest.java │ │ ├── uuid/ │ │ │ ├── DeleteByIdDto.java │ │ │ ├── UUIDEntity.java │ │ │ ├── UUIDEntityMapper.java │ │ │ ├── UUIDEntityTest.java │ │ │ ├── UUIDLogicEntity.java │ │ │ ├── UUIDLogicEntityMapper.java │ │ │ ├── UUIDLogicEntityTest.java │ │ │ └── UUIDTypeHandler.java │ │ └── version/ │ │ ├── Entity.java │ │ ├── EntityMapper.java │ │ └── VersionTest.java │ ├── kotlin/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ └── h2/ │ │ ├── KtTestConfig.kt │ │ ├── MetaObjectHandlerTest.kt │ │ ├── MyMetaObjectHandler.kt │ │ └── kotlin/ │ │ ├── KtH2UserTest.kt │ │ ├── entity/ │ │ │ └── KtH2User.kt │ │ ├── mapper/ │ │ │ └── KtUserMapper.kt │ │ └── service/ │ │ ├── KtH2UserService.kt │ │ └── impl/ │ │ └── KtH2UserServiceImpl.kt │ └── resources/ │ ├── cache/ │ │ └── init.ddl.sql │ ├── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ ├── cache/ │ │ │ ├── package-info.java │ │ │ └── xml/ │ │ │ └── XmlCacheMapper.xml │ │ ├── enums/ │ │ │ └── EntityMapper.xml │ │ ├── fill/ │ │ │ └── FillMapper.xml │ │ ├── h2/ │ │ │ └── mapper/ │ │ │ └── H2StudentMapper.xml │ │ ├── puginsome/ │ │ │ ├── AMapper.xml │ │ │ └── BMapper.xml │ │ ├── resultmap/ │ │ │ └── EntityMapper.xml │ │ └── rewrite/ │ │ └── EntityMapper.xml │ ├── customfilltest/ │ │ └── init.ddl.sql │ ├── fillperformance/ │ │ └── init.ddl.sql │ ├── h2/ │ │ ├── spring-cache-h2.xml │ │ ├── spring-custom-fill-test-h2.xml │ │ ├── spring-fill-performance-h2.xml │ │ ├── spring-id-generator-h2.xml │ │ ├── spring-keygenerator-h2.xml │ │ ├── spring-logic-delete-h2.xml │ │ ├── spring-sharding-h2.xml │ │ ├── spring-tenant-h2.xml │ │ ├── spring-test-h2.xml │ │ ├── spring-test-xml-h2.xml │ │ ├── student.ddl.sql │ │ ├── student.insert.sql │ │ ├── user.ddl.sql │ │ └── user.insert.sql │ ├── hbase-site.xml │ ├── idgenerator/ │ │ └── init.ddl.sql │ ├── issues/ │ │ └── genericid/ │ │ ├── spring.xml │ │ └── sql/ │ │ └── init.ddl.sql │ ├── keygenerator/ │ │ └── init.ddl.sql │ ├── logback.xml │ ├── mybatis-config-object-factory.xml │ ├── mybatis-config.xml │ ├── phoenix/ │ │ ├── spring-test-phoenix.xml │ │ └── test_info.ddl.sql │ ├── postgresql/ │ │ └── spring-test-postgresql.xml │ └── tenant/ │ └── init.ddl.sql ├── mybatis-plus-annotation/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── baomidou/ │ └── mybatisplus/ │ └── annotation/ │ ├── DbType.java │ ├── EnumValue.java │ ├── FieldFill.java │ ├── FieldStrategy.java │ ├── IEnum.java │ ├── IdType.java │ ├── InterceptorIgnore.java │ ├── KeySequence.java │ ├── OrderBy.java │ ├── SqlCondition.java │ ├── TableField.java │ ├── TableId.java │ ├── TableLogic.java │ ├── TableName.java │ ├── Version.java │ └── package-info.java ├── mybatis-plus-bom/ │ └── build.gradle ├── mybatis-plus-core/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── core/ │ │ │ ├── InjectorResolver.java │ │ │ ├── MybatisConfiguration.java │ │ │ ├── MybatisMapperAnnotationBuilder.java │ │ │ ├── MybatisMapperBuilderAssistant.java │ │ │ ├── MybatisMapperRegistry.java │ │ │ ├── MybatisMethodResolver.java │ │ │ ├── MybatisParameterHandler.java │ │ │ ├── MybatisPlusVersion.java │ │ │ ├── MybatisSqlSessionFactoryBuilder.java │ │ │ ├── MybatisXMLConfigBuilder.java │ │ │ ├── MybatisXMLLanguageDriver.java │ │ │ ├── MybatisXMLMapperBuilder.java │ │ │ ├── MybatisXMLScriptBuilder.java │ │ │ ├── assist/ │ │ │ │ ├── AbstractSqlRunner.java │ │ │ │ ├── ISqlRunner.java │ │ │ │ └── package-info.java │ │ │ ├── batch/ │ │ │ │ ├── BatchMethod.java │ │ │ │ ├── BatchSqlSession.java │ │ │ │ ├── MybatisBatch.java │ │ │ │ └── ParameterConvert.java │ │ │ ├── conditions/ │ │ │ │ ├── AbstractLambdaWrapper.java │ │ │ │ ├── AbstractWrapper.java │ │ │ │ ├── ISqlSegment.java │ │ │ │ ├── SharedString.java │ │ │ │ ├── Wrapper.java │ │ │ │ ├── interfaces/ │ │ │ │ │ ├── Compare.java │ │ │ │ │ ├── Func.java │ │ │ │ │ ├── Join.java │ │ │ │ │ ├── Nested.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── query/ │ │ │ │ │ ├── LambdaQueryWrapper.java │ │ │ │ │ ├── Query.java │ │ │ │ │ ├── QueryWrapper.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── segments/ │ │ │ │ │ ├── AbstractISegmentList.java │ │ │ │ │ ├── ColumnSegment.java │ │ │ │ │ ├── GroupBySegmentList.java │ │ │ │ │ ├── HavingSegmentList.java │ │ │ │ │ ├── MatchSegment.java │ │ │ │ │ ├── MergeSegments.java │ │ │ │ │ ├── NormalSegmentList.java │ │ │ │ │ ├── OrderBySegmentList.java │ │ │ │ │ └── package-info.java │ │ │ │ └── update/ │ │ │ │ ├── LambdaUpdateWrapper.java │ │ │ │ ├── Update.java │ │ │ │ ├── UpdateWrapper.java │ │ │ │ └── package-info.java │ │ │ ├── config/ │ │ │ │ ├── GlobalConfig.java │ │ │ │ └── package-info.java │ │ │ ├── enums/ │ │ │ │ ├── SqlKeyword.java │ │ │ │ ├── SqlLike.java │ │ │ │ ├── SqlMethod.java │ │ │ │ ├── WrapperKeyword.java │ │ │ │ └── package-info.java │ │ │ ├── exceptions/ │ │ │ │ ├── MybatisPlusException.java │ │ │ │ └── package-info.java │ │ │ ├── handlers/ │ │ │ │ ├── AnnotationHandler.java │ │ │ │ ├── CompositeEnumTypeHandler.java │ │ │ │ ├── IJsonTypeHandler.java │ │ │ │ ├── MetaObjectHandler.java │ │ │ │ ├── MybatisEnumTypeHandler.java │ │ │ │ ├── PostInitTableInfoHandler.java │ │ │ │ ├── StrictFill.java │ │ │ │ └── package-info.java │ │ │ ├── incrementer/ │ │ │ │ ├── DefaultIdentifierGenerator.java │ │ │ │ ├── IKeyGenerator.java │ │ │ │ ├── IdentifierGenerator.java │ │ │ │ ├── ImadcnIdentifierGenerator.java │ │ │ │ └── package-info.java │ │ │ ├── injector/ │ │ │ │ ├── AbstractMethod.java │ │ │ │ ├── AbstractSqlInjector.java │ │ │ │ ├── DefaultSqlInjector.java │ │ │ │ ├── ISqlInjector.java │ │ │ │ ├── SqlRunnerInjector.java │ │ │ │ ├── methods/ │ │ │ │ │ ├── Delete.java │ │ │ │ │ ├── DeleteBatchByIds.java │ │ │ │ │ ├── DeleteById.java │ │ │ │ │ ├── DeleteByIds.java │ │ │ │ │ ├── DeleteByMap.java │ │ │ │ │ ├── Insert.java │ │ │ │ │ ├── SelectBatchByIds.java │ │ │ │ │ ├── SelectById.java │ │ │ │ │ ├── SelectByIds.java │ │ │ │ │ ├── SelectByMap.java │ │ │ │ │ ├── SelectCount.java │ │ │ │ │ ├── SelectList.java │ │ │ │ │ ├── SelectMaps.java │ │ │ │ │ ├── SelectMapsPage.java │ │ │ │ │ ├── SelectObjs.java │ │ │ │ │ ├── SelectOne.java │ │ │ │ │ ├── SelectPage.java │ │ │ │ │ ├── Update.java │ │ │ │ │ ├── UpdateById.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── mapper/ │ │ │ │ ├── BaseMapper.java │ │ │ │ ├── Mapper.java │ │ │ │ └── package-info.java │ │ │ ├── metadata/ │ │ │ │ ├── IPage.java │ │ │ │ ├── MapperProxyMetadata.java │ │ │ │ ├── OrderFieldInfo.java │ │ │ │ ├── OrderItem.java │ │ │ │ ├── TableFieldInfo.java │ │ │ │ ├── TableInfo.java │ │ │ │ ├── TableInfoHelper.java │ │ │ │ └── package-info.java │ │ │ ├── override/ │ │ │ │ ├── MybatisMapperMethod.java │ │ │ │ ├── MybatisMapperProxy.java │ │ │ │ ├── MybatisMapperProxyFactory.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── plugins/ │ │ │ │ ├── IgnoreStrategy.java │ │ │ │ └── InterceptorIgnoreHelper.java │ │ │ ├── spi/ │ │ │ │ ├── CompatibleHelper.java │ │ │ │ └── CompatibleSet.java │ │ │ └── toolkit/ │ │ │ ├── AES.java │ │ │ ├── AnnotationUtils.java │ │ │ ├── AopUtils.java │ │ │ ├── ArrayUtils.java │ │ │ ├── Assert.java │ │ │ ├── BeanUtils.java │ │ │ ├── ClassUtils.java │ │ │ ├── CollectionUtils.java │ │ │ ├── Constants.java │ │ │ ├── EncryptUtils.java │ │ │ ├── ExceptionUtils.java │ │ │ ├── GlobalConfigUtils.java │ │ │ ├── IdWorker.java │ │ │ ├── LambdaUtils.java │ │ │ ├── MybatisBatchUtils.java │ │ │ ├── MybatisUtils.java │ │ │ ├── NetUtils.java │ │ │ ├── ObjectUtils.java │ │ │ ├── ParameterUtils.java │ │ │ ├── PluginUtils.java │ │ │ ├── ReflectionKit.java │ │ │ ├── Sequence.java │ │ │ ├── SerializationUtils.java │ │ │ ├── SetAccessibleAction.java │ │ │ ├── StringPool.java │ │ │ ├── StringUtils.java │ │ │ ├── SystemClock.java │ │ │ ├── TableNameParser.java │ │ │ ├── Wrappers.java │ │ │ ├── package-info.java │ │ │ ├── reflect/ │ │ │ │ ├── GenericTypeUtils.java │ │ │ │ ├── IGenericTypeResolver.java │ │ │ │ ├── SpringReflectionHelper.java │ │ │ │ └── TypeParameterResolver.java │ │ │ ├── sql/ │ │ │ │ ├── SqlInjectionUtils.java │ │ │ │ ├── SqlScriptUtils.java │ │ │ │ ├── SqlUtils.java │ │ │ │ ├── StringEscape.java │ │ │ │ └── package-info.java │ │ │ └── support/ │ │ │ ├── BiIntFunction.java │ │ │ ├── ColumnCache.java │ │ │ ├── IdeaProxyLambdaMeta.java │ │ │ ├── LambdaMeta.java │ │ │ ├── ReflectLambdaMeta.java │ │ │ ├── SFunction.java │ │ │ ├── SerializedLambda.java │ │ │ └── ShadowLambdaMeta.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring-devtools.properties │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ ├── code/ │ │ │ ├── Overwrite.java │ │ │ ├── OverwriteFile.java │ │ │ ├── OverwriteRunner.java │ │ │ └── sub/ │ │ │ └── MapperMethod.java │ │ ├── core/ │ │ │ ├── MethodTest.java │ │ │ ├── MybatisMapperAnnotationBuilderTest.java │ │ │ ├── MybatisXMLConfigBuilderTest.java │ │ │ ├── MybatisXMLLanguageDriverTest.java │ │ │ ├── MybatisXMLScriptBuilderTest.java │ │ │ ├── conditions/ │ │ │ │ ├── AbstractWrapperTest.java │ │ │ │ ├── BaseWrapperTest.java │ │ │ │ ├── LambdaQueryWrapperTest.java │ │ │ │ ├── QueryWrapperTest.java │ │ │ │ ├── UpdateWrapperIncrDecrTest.java │ │ │ │ └── UpdateWrapperTest.java │ │ │ ├── handlers/ │ │ │ │ └── MetaObjectHandlerTest.java │ │ │ ├── incrementer/ │ │ │ │ └── ImadcnIdentifierGeneratorTest.java │ │ │ ├── metadata/ │ │ │ │ └── TableInfoTest.java │ │ │ ├── plugins/ │ │ │ │ └── InterceptorIgnoreHelperTest.java │ │ │ └── toolkit/ │ │ │ ├── MybatisUtilsTest.java │ │ │ ├── SequenceTest.java │ │ │ ├── reflect/ │ │ │ │ └── TypeParameterResolverTest.java │ │ │ ├── sql/ │ │ │ │ ├── SqlInjectionUtilsTest.java │ │ │ │ ├── SqlScriptUtilsTest.java │ │ │ │ └── SqlUtilsTest.java │ │ │ └── support/ │ │ │ └── IdeaProxyLambdaMetaTest.java │ │ └── test/ │ │ ├── EncryptTest.java │ │ ├── MybatisConfigurationTest.java │ │ ├── MybatisMapperAnnotationBuilderTest.java │ │ ├── MybatisParameterHandlerTest.java │ │ ├── Role.java │ │ ├── User.java │ │ ├── entity/ │ │ │ ├── AEntity.java │ │ │ └── BEntity.java │ │ ├── mapper/ │ │ │ ├── AMapper.java │ │ │ └── BMapper.java │ │ ├── metadata/ │ │ │ └── TableInfoHelperTest.java │ │ ├── override/ │ │ │ └── MybatisMapperMethodTest.java │ │ ├── pom/ │ │ │ ├── GeneratePomTest.java │ │ │ └── ReflectionKitTest.java │ │ └── toolkit/ │ │ ├── AESTest.java │ │ ├── AnnotationUtilsTest.java │ │ ├── BeanUtilsTest.java │ │ ├── ClassUtilsTest.java │ │ ├── CollectionUtilsTest.java │ │ ├── LambdaUtilsTest.java │ │ ├── ParameterUtilsTest.java │ │ ├── PluginUtilsTest.java │ │ ├── ReflectionKitTest.java │ │ ├── StringUtilsTest.java │ │ └── TableNameParserTest.java │ └── resources/ │ ├── MybatisXMLConfigBuilderTest.xml │ ├── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ └── mapper/ │ │ ├── AMapper.xml │ │ └── BMapper.xml │ └── mybatis-config-empty.xml ├── mybatis-plus-extension/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── extension/ │ │ │ ├── MybatisMapWrapperFactory.java │ │ │ ├── activerecord/ │ │ │ │ ├── AbstractModel.java │ │ │ │ └── package-info.java │ │ │ ├── conditions/ │ │ │ │ ├── AbstractChainWrapper.java │ │ │ │ ├── ChainWrapper.java │ │ │ │ ├── query/ │ │ │ │ │ ├── ChainQuery.java │ │ │ │ │ ├── LambdaQueryChainWrapper.java │ │ │ │ │ └── QueryChainWrapper.java │ │ │ │ └── update/ │ │ │ │ ├── ChainUpdate.java │ │ │ │ ├── LambdaUpdateChainWrapper.java │ │ │ │ └── UpdateChainWrapper.java │ │ │ ├── ddl/ │ │ │ │ ├── DdlHelper.java │ │ │ │ ├── DdlScript.java │ │ │ │ ├── DdlScriptErrorHandler.java │ │ │ │ ├── IDdl.java │ │ │ │ └── history/ │ │ │ │ ├── IDdlGenerator.java │ │ │ │ ├── MysqlDdlGenerator.java │ │ │ │ ├── OracleDdlGenerator.java │ │ │ │ ├── PostgreDdlGenerator.java │ │ │ │ └── SQLiteDdlGenerator.java │ │ │ ├── handlers/ │ │ │ │ ├── AbstractJsonTypeHandler.java │ │ │ │ ├── Fastjson2TypeHandler.java │ │ │ │ ├── FastjsonTypeHandler.java │ │ │ │ ├── GsonTypeHandler.java │ │ │ │ ├── Jackson3TypeHandler.java │ │ │ │ ├── JacksonTypeHandler.java │ │ │ │ ├── MybatisMapWrapper.java │ │ │ │ └── package-info.java │ │ │ ├── incrementer/ │ │ │ │ ├── DB2KeyGenerator.java │ │ │ │ ├── DmKeyGenerator.java │ │ │ │ ├── FirebirdKeyGenerator.java │ │ │ │ ├── H2KeyGenerator.java │ │ │ │ ├── KingbaseKeyGenerator.java │ │ │ │ ├── LealoneKeyGenerator.java │ │ │ │ ├── OracleKeyGenerator.java │ │ │ │ ├── PostgreKeyGenerator.java │ │ │ │ ├── SapHanaKeyGenerator.java │ │ │ │ └── package-info.java │ │ │ ├── injector/ │ │ │ │ ├── methods/ │ │ │ │ │ ├── AlwaysUpdateSomeColumnById.java │ │ │ │ │ ├── InsertBatchSomeColumn.java │ │ │ │ │ ├── LogicDeleteBatchByIds.java │ │ │ │ │ ├── LogicDeleteByIdWithFill.java │ │ │ │ │ ├── Upsert.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── p6spy/ │ │ │ │ ├── MybatisPlusLogFactory.java │ │ │ │ ├── MybatisPlusLoggingEventListener.java │ │ │ │ ├── P6SpyLogger.java │ │ │ │ └── StdoutLogger.java │ │ │ ├── package-info.java │ │ │ ├── plugins/ │ │ │ │ ├── MybatisPlusInterceptor.java │ │ │ │ ├── handler/ │ │ │ │ │ └── TableNameHandler.java │ │ │ │ ├── inner/ │ │ │ │ │ ├── DynamicTableNameInnerInterceptor.java │ │ │ │ │ ├── InnerInterceptor.java │ │ │ │ │ ├── OptimisticLockerInnerInterceptor.java │ │ │ │ │ └── ReplacePlaceholderInnerInterceptor.java │ │ │ │ ├── package-info.java │ │ │ │ └── pagination/ │ │ │ │ ├── DialectFactory.java │ │ │ │ ├── DialectModel.java │ │ │ │ ├── Page.java │ │ │ │ ├── PageDTO.java │ │ │ │ ├── dialects/ │ │ │ │ │ ├── DB2Dialect.java │ │ │ │ │ ├── GBase8sDialect.java │ │ │ │ │ ├── GaussDBDialect.java │ │ │ │ │ ├── Hive2Dialect.java │ │ │ │ │ ├── IDialect.java │ │ │ │ │ ├── InformixDialect.java │ │ │ │ │ ├── MySqlDialect.java │ │ │ │ │ ├── Oracle12cDialect.java │ │ │ │ │ ├── OracleDialect.java │ │ │ │ │ ├── PostgreDialect.java │ │ │ │ │ ├── SQLServer2005Dialect.java │ │ │ │ │ ├── SQLServerDialect.java │ │ │ │ │ ├── SybaseDialect.java │ │ │ │ │ ├── TrinoDialect.java │ │ │ │ │ ├── XCloudDialect.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── repository/ │ │ │ │ ├── AbstractRepository.java │ │ │ │ └── IRepository.java │ │ │ ├── scripting/ │ │ │ │ ├── MybatisFreeMarkerLanguageDriver.java │ │ │ │ ├── MybatisThymeleafLanguageDriver.java │ │ │ │ └── MybatisVelocityLanguageDriver.java │ │ │ ├── spi/ │ │ │ │ ├── CompatibleHelper.java │ │ │ │ └── CompatibleSet.java │ │ │ └── toolkit/ │ │ │ ├── ChainWrappers.java │ │ │ ├── Db.java │ │ │ ├── JdbcUtils.java │ │ │ ├── PropertyMapper.java │ │ │ ├── SimpleQuery.java │ │ │ ├── SqlHelper.java │ │ │ ├── SqlParserUtils.java │ │ │ └── package-info.java │ │ └── kotlin/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── extension/ │ │ └── kotlin/ │ │ ├── AbstractKtWrapper.kt │ │ ├── KtQueryChainWrapper.kt │ │ ├── KtQueryWrapper.kt │ │ ├── KtUpdateChainWrapper.kt │ │ └── KtUpdateWrapper.kt │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ ├── DdlHelperTest.java │ │ ├── DdlScriptTest.java │ │ ├── SqlParserUtilsTest.java │ │ ├── extension/ │ │ │ ├── parsers/ │ │ │ │ └── DynamicTableNameParserTest.java │ │ │ └── plugins/ │ │ │ └── pagination/ │ │ │ └── dialects/ │ │ │ └── IDialectTest.java │ │ ├── handlers/ │ │ │ ├── BaseTypeHandlerTest.java │ │ │ ├── FastJson2TypeHandlerTest.java │ │ │ ├── FastJsonTypeHandlerTest.java │ │ │ ├── GsonTypeHandlerTest.java │ │ │ ├── Jackson3TypeHandlerTest.java │ │ │ ├── JacksonTypeHandlerTest.java │ │ │ ├── MybatisEnumTypeHandlerTest.java │ │ │ └── MybatisMapWrapperTest.java │ │ ├── model/ │ │ │ └── UserBean.java │ │ ├── plugins/ │ │ │ └── pagination/ │ │ │ ├── DialectFactoryTest.java │ │ │ └── SQLServer2005DialectTest.java │ │ └── pom/ │ │ └── GeneratePomTest.java │ └── resources/ │ ├── ddl/ │ │ └── test.sql │ └── logback.xml ├── mybatis-plus-generator/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── generator/ │ │ │ ├── AutoGenerator.java │ │ │ ├── DefaultTableAnnotationHandler.java │ │ │ ├── DefaultTableFieldAnnotationHandler.java │ │ │ ├── FastAutoGenerator.java │ │ │ ├── IFill.java │ │ │ ├── IGenerateMapperMethodHandler.java │ │ │ ├── ITableAnnotationHandler.java │ │ │ ├── ITableFieldAnnotationHandler.java │ │ │ ├── ITemplate.java │ │ │ ├── config/ │ │ │ │ ├── ConstVal.java │ │ │ │ ├── DataSourceConfig.java │ │ │ │ ├── GlobalConfig.java │ │ │ │ ├── IConfigBuilder.java │ │ │ │ ├── IDbQuery.java │ │ │ │ ├── IKeyWordsHandler.java │ │ │ │ ├── INameConvert.java │ │ │ │ ├── IOutputFile.java │ │ │ │ ├── ITypeConvert.java │ │ │ │ ├── InjectionConfig.java │ │ │ │ ├── OutputFile.java │ │ │ │ ├── PackageConfig.java │ │ │ │ ├── StrategyConfig.java │ │ │ │ ├── TemplateConfig.java │ │ │ │ ├── TemplateLoadWay.java │ │ │ │ ├── TemplateType.java │ │ │ │ ├── builder/ │ │ │ │ │ ├── BaseBuilder.java │ │ │ │ │ ├── ConfigBuilder.java │ │ │ │ │ ├── Controller.java │ │ │ │ │ ├── CustomFile.java │ │ │ │ │ ├── Entity.java │ │ │ │ │ ├── GeneratorBuilder.java │ │ │ │ │ ├── Mapper.java │ │ │ │ │ ├── PathInfoHandler.java │ │ │ │ │ ├── Service.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── converts/ │ │ │ │ │ ├── ClickHouseTypeConvert.java │ │ │ │ │ ├── DB2TypeConvert.java │ │ │ │ │ ├── DmTypeConvert.java │ │ │ │ │ ├── FirebirdTypeConvert.java │ │ │ │ │ ├── GaussDBSqlTypeConvert.java │ │ │ │ │ ├── KingbaseESTypeConvert.java │ │ │ │ │ ├── MySqlTypeConvert.java │ │ │ │ │ ├── OracleTypeConvert.java │ │ │ │ │ ├── OscarTypeConvert.java │ │ │ │ │ ├── PostgreSqlTypeConvert.java │ │ │ │ │ ├── SqlServerTypeConvert.java │ │ │ │ │ ├── SqliteTypeConvert.java │ │ │ │ │ ├── TypeConverts.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── select/ │ │ │ │ │ ├── Branch.java │ │ │ │ │ ├── BranchBuilder.java │ │ │ │ │ └── Selector.java │ │ │ │ ├── package-info.java │ │ │ │ ├── po/ │ │ │ │ │ ├── LikeTable.java │ │ │ │ │ ├── TableField.java │ │ │ │ │ ├── TableInfo.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── querys/ │ │ │ │ │ ├── AbstractDbQuery.java │ │ │ │ │ ├── ClickHouseQuery.java │ │ │ │ │ ├── DB2Query.java │ │ │ │ │ ├── DMQuery.java │ │ │ │ │ ├── DbQueryDecorator.java │ │ │ │ │ ├── DbQueryRegistry.java │ │ │ │ │ ├── FirebirdQuery.java │ │ │ │ │ ├── GaussDBSqlQuery.java │ │ │ │ │ ├── GaussQuery.java │ │ │ │ │ ├── GbaseQuery.java │ │ │ │ │ ├── H2Query.java │ │ │ │ │ ├── KingbaseESQuery.java │ │ │ │ │ ├── MariadbQuery.java │ │ │ │ │ ├── MySqlQuery.java │ │ │ │ │ ├── OracleQuery.java │ │ │ │ │ ├── OscarQuery.java │ │ │ │ │ ├── PostgreSqlQuery.java │ │ │ │ │ ├── SqlServerQuery.java │ │ │ │ │ ├── SqliteQuery.java │ │ │ │ │ ├── SybaseQuery.java │ │ │ │ │ ├── XuguQuery.java │ │ │ │ │ ├── ZenithQuery.java │ │ │ │ │ └── package-info.java │ │ │ │ └── rules/ │ │ │ │ ├── DateType.java │ │ │ │ ├── DbColumnType.java │ │ │ │ ├── IColumnType.java │ │ │ │ ├── NamingStrategy.java │ │ │ │ └── package-info.java │ │ │ ├── engine/ │ │ │ │ ├── AbstractTemplateEngine.java │ │ │ │ ├── BeetlTemplateEngine.java │ │ │ │ ├── EnjoyTemplateEngine.java │ │ │ │ ├── FreemarkerTemplateEngine.java │ │ │ │ └── VelocityTemplateEngine.java │ │ │ ├── fill/ │ │ │ │ ├── Column.java │ │ │ │ └── Property.java │ │ │ ├── function/ │ │ │ │ └── ConverterFileName.java │ │ │ ├── index/ │ │ │ │ ├── AbstractMapperMethodHandler.java │ │ │ │ ├── DefaultGenerateMapperLambdaMethodHandler.java │ │ │ │ └── DefaultGenerateMapperMethodHandler.java │ │ │ ├── jdbc/ │ │ │ │ └── DatabaseMetaDataWrapper.java │ │ │ ├── keywords/ │ │ │ │ ├── BaseKeyWordsHandler.java │ │ │ │ ├── H2KeyWordsHandler.java │ │ │ │ ├── MySqlKeyWordsHandler.java │ │ │ │ ├── PostgreSqlKeyWordsHandler.java │ │ │ │ └── package-info.java │ │ │ ├── model/ │ │ │ │ ├── AnnotationAttributes.java │ │ │ │ ├── ClassAnnotationAttributes.java │ │ │ │ └── MapperMethod.java │ │ │ ├── package-info.java │ │ │ ├── query/ │ │ │ │ ├── AbstractDatabaseQuery.java │ │ │ │ ├── DefaultQuery.java │ │ │ │ ├── IDatabaseQuery.java │ │ │ │ └── SQLQuery.java │ │ │ ├── type/ │ │ │ │ ├── ITypeConvertHandler.java │ │ │ │ └── TypeRegistry.java │ │ │ └── util/ │ │ │ ├── ClassUtils.java │ │ │ ├── FileUtils.java │ │ │ ├── KotlinTypeUtils.java │ │ │ └── RuntimeUtils.java │ │ └── resources/ │ │ └── templates/ │ │ ├── controller.java.btl │ │ ├── controller.java.ej │ │ ├── controller.java.ftl │ │ ├── controller.java.vm │ │ ├── entity.java.btl │ │ ├── entity.java.ej │ │ ├── entity.java.ftl │ │ ├── entity.java.vm │ │ ├── entity.kt.btl │ │ ├── entity.kt.ej │ │ ├── entity.kt.ftl │ │ ├── entity.kt.vm │ │ ├── mapper.java.btl │ │ ├── mapper.java.ej │ │ ├── mapper.java.ftl │ │ ├── mapper.java.vm │ │ ├── mapper.xml.btl │ │ ├── mapper.xml.ej │ │ ├── mapper.xml.ftl │ │ ├── mapper.xml.vm │ │ ├── service.java.btl │ │ ├── service.java.ej │ │ ├── service.java.ftl │ │ ├── service.java.vm │ │ ├── serviceImpl.java.btl │ │ ├── serviceImpl.java.ej │ │ ├── serviceImpl.java.ftl │ │ └── serviceImpl.java.vm │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ ├── demo/ │ │ │ ├── beetl/ │ │ │ │ ├── controller/ │ │ │ │ │ └── SimpleController.java │ │ │ │ ├── entity/ │ │ │ │ │ └── Simple.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── SimpleMapper.java │ │ │ │ │ └── xml/ │ │ │ │ │ └── SimpleMapper.xml │ │ │ │ └── service/ │ │ │ │ ├── ISimpleService.java │ │ │ │ └── impl/ │ │ │ │ └── SimpleServiceImpl.java │ │ │ ├── enjoy/ │ │ │ │ ├── controller/ │ │ │ │ │ └── SimpleController.java │ │ │ │ ├── entity/ │ │ │ │ │ └── Simple.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── SimpleMapper.java │ │ │ │ │ └── xml/ │ │ │ │ │ └── SimpleMapper.xml │ │ │ │ └── service/ │ │ │ │ ├── ISimpleService.java │ │ │ │ └── impl/ │ │ │ │ └── SimpleServiceImpl.java │ │ │ ├── freemarker/ │ │ │ │ ├── controller/ │ │ │ │ │ └── SimpleController.java │ │ │ │ ├── entity/ │ │ │ │ │ └── Simple.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── SimpleMapper.java │ │ │ │ │ └── xml/ │ │ │ │ │ └── SimpleMapper.xml │ │ │ │ └── service/ │ │ │ │ ├── ISimpleService.java │ │ │ │ └── impl/ │ │ │ │ └── SimpleServiceImpl.java │ │ │ └── velocity/ │ │ │ ├── controller/ │ │ │ │ └── SimpleController.java │ │ │ ├── entity/ │ │ │ │ └── Simple.java │ │ │ ├── mapper/ │ │ │ │ ├── SimpleMapper.java │ │ │ │ └── xml/ │ │ │ │ └── SimpleMapper.xml │ │ │ └── service/ │ │ │ ├── ISimpleService.java │ │ │ └── impl/ │ │ │ └── SimpleServiceImpl.java │ │ └── mybatisplus/ │ │ └── generator/ │ │ ├── config/ │ │ │ ├── DataSourceConfigTest.java │ │ │ ├── DbQueryRegistryTest.java │ │ │ ├── GlobalConfigTest.java │ │ │ ├── InjectionConfigTest.java │ │ │ ├── PackageConfigTest.java │ │ │ ├── StrategyConfigTest.java │ │ │ ├── TemplateConfigTest.java │ │ │ ├── builder/ │ │ │ │ └── ConfigBuilderTest.java │ │ │ ├── converts/ │ │ │ │ ├── GaussDBSqlTypeConvertTest.java │ │ │ │ ├── SqlServerTypeConvertTest.java │ │ │ │ ├── TypeConvertsTest.java │ │ │ │ └── select/ │ │ │ │ └── SelectorTest.java │ │ │ ├── po/ │ │ │ │ ├── TableFieldTest.java │ │ │ │ └── TableInfoTest.java │ │ │ └── rules/ │ │ │ └── NamingStrategyTest.java │ │ ├── engine/ │ │ │ └── TemplateEngineTest.java │ │ ├── entity/ │ │ │ ├── BaseEntity.java │ │ │ └── SuperEntity.java │ │ ├── index/ │ │ │ └── MapperMethodHandlerTest.java │ │ ├── jdbc/ │ │ │ └── DatabaseMetaDataWrapperTest.java │ │ ├── keywords/ │ │ │ ├── H2KeyWordsHandlerTest.java │ │ │ ├── MySqlKeyWordsHandlerTest.java │ │ │ └── PostgreSqlKeyWordsHandlerTest.java │ │ ├── model/ │ │ │ └── ClassAnnotationAttributesTest.java │ │ └── samples/ │ │ ├── BaseGeneratorTest.java │ │ ├── DMGeneratorTest.java │ │ ├── FastAutoGeneratorTest.java │ │ ├── GaussDBGeneratorTest.java │ │ ├── H2CodeGeneratorTest.java │ │ ├── MySQLGeneratorTest.java │ │ ├── OracleGeneratorTest.java │ │ └── PostgreSQLGeneratorTest.java │ ├── kotlin/ │ │ └── com/ │ │ └── baomidou/ │ │ ├── beetl/ │ │ │ ├── controller/ │ │ │ │ └── SimpleController.kt │ │ │ ├── entity/ │ │ │ │ └── Simple.kt │ │ │ ├── mapper/ │ │ │ │ ├── SimpleMapper.kt │ │ │ │ └── xml/ │ │ │ │ └── SimpleMapper.xml │ │ │ └── service/ │ │ │ ├── ISimpleService.kt │ │ │ └── impl/ │ │ │ └── SimpleServiceImpl.kt │ │ ├── enjoy/ │ │ │ ├── controller/ │ │ │ │ └── SimpleController.kt │ │ │ ├── entity/ │ │ │ │ └── Simple.kt │ │ │ ├── mapper/ │ │ │ │ ├── SimpleMapper.kt │ │ │ │ └── xml/ │ │ │ │ └── SimpleMapper.xml │ │ │ └── service/ │ │ │ ├── ISimpleService.kt │ │ │ └── impl/ │ │ │ └── SimpleServiceImpl.kt │ │ ├── freemarker/ │ │ │ ├── controller/ │ │ │ │ └── SimpleController.kt │ │ │ ├── entity/ │ │ │ │ └── Simple.kt │ │ │ ├── mapper/ │ │ │ │ ├── SimpleMapper.kt │ │ │ │ └── xml/ │ │ │ │ └── SimpleMapper.xml │ │ │ └── service/ │ │ │ ├── ISimpleService.kt │ │ │ └── impl/ │ │ │ └── SimpleServiceImpl.kt │ │ └── velocity/ │ │ ├── controller/ │ │ │ └── SimpleController.kt │ │ ├── entity/ │ │ │ └── Simple.kt │ │ ├── mapper/ │ │ │ ├── SimpleMapper.kt │ │ │ └── xml/ │ │ │ └── SimpleMapper.xml │ │ └── service/ │ │ ├── ISimpleService.kt │ │ └── impl/ │ │ └── SimpleServiceImpl.kt │ └── resources/ │ ├── sql/ │ │ └── init.sql │ └── templates/ │ ├── dto.java.ftl │ ├── dto.java.vm │ ├── entity1.java.ftl │ ├── entity1.java.vm │ ├── test.vm │ ├── vo.java.ftl │ └── vo.java.vm ├── mybatis-plus-jsqlparser-support/ │ ├── build.gradle │ ├── mybatis-plus-jsqlparser/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── extension/ │ │ │ ├── DynamicTableNameHandler.java │ │ │ ├── parser/ │ │ │ │ ├── JsqlParserFunction.java │ │ │ │ ├── JsqlParserGlobal.java │ │ │ │ ├── JsqlParserSupport.java │ │ │ │ └── cache/ │ │ │ │ ├── AbstractCaffeineJsqlParseCache.java │ │ │ │ ├── FstFactory.java │ │ │ │ ├── FstSerialCaffeineJsqlParseCache.java │ │ │ │ ├── FuryFactory.java │ │ │ │ ├── FurySerialCaffeineJsqlParseCache.java │ │ │ │ ├── JdkSerialCaffeineJsqlParseCache.java │ │ │ │ └── JsqlParseCache.java │ │ │ └── plugins/ │ │ │ ├── handler/ │ │ │ │ ├── DataPermissionHandler.java │ │ │ │ ├── MultiDataPermissionHandler.java │ │ │ │ └── TenantLineHandler.java │ │ │ └── inner/ │ │ │ ├── BaseMultiTableInnerInterceptor.java │ │ │ ├── BlockAttackInnerInterceptor.java │ │ │ ├── DataChangeRecorderInnerInterceptor.java │ │ │ ├── DataPermissionInterceptor.java │ │ │ ├── DynamicTableNameJsqlParserInnerInterceptor.java │ │ │ ├── IllegalSQLInnerInterceptor.java │ │ │ ├── PaginationInnerInterceptor.java │ │ │ └── TenantLineInnerInterceptor.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ ├── JSqlParserTest.java │ │ ├── extension/ │ │ │ ├── parser/ │ │ │ │ ├── JsqlParserSimpleSerialTest.java │ │ │ │ └── cache/ │ │ │ │ └── FstFactoryTest.java │ │ │ └── plugins/ │ │ │ ├── MybatisPlusInterceptorTest.java │ │ │ └── inner/ │ │ │ ├── BlockAttackInnerInterceptorTest.java │ │ │ ├── DataChangeRecorderInnerInterceptorTest.java │ │ │ ├── DataPermissionInterceptorTest.java │ │ │ ├── DynamicTableNameInnerInterceptorTest.java │ │ │ ├── DynamicTableNameJsqlParserInnerInterceptorTest.java │ │ │ ├── IllegalSQLInnerInterceptorTest.java │ │ │ ├── MultiDataPermissionInterceptorTest.java │ │ │ ├── PaginationInnerInterceptorTest.java │ │ │ └── TenantLineInnerInterceptorTest.java │ │ └── pagination/ │ │ └── SelectBodyToPlainSelectTest.java │ ├── mybatis-plus-jsqlparser-4.9/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── extension/ │ │ │ ├── DynamicTableNameHandler.java │ │ │ ├── parser/ │ │ │ │ ├── JsqlParserFunction.java │ │ │ │ ├── JsqlParserGlobal.java │ │ │ │ ├── JsqlParserSupport.java │ │ │ │ └── cache/ │ │ │ │ ├── AbstractCaffeineJsqlParseCache.java │ │ │ │ ├── FstFactory.java │ │ │ │ ├── FstSerialCaffeineJsqlParseCache.java │ │ │ │ ├── JdkSerialCaffeineJsqlParseCache.java │ │ │ │ └── JsqlParseCache.java │ │ │ └── plugins/ │ │ │ ├── handler/ │ │ │ │ ├── DataPermissionHandler.java │ │ │ │ ├── MultiDataPermissionHandler.java │ │ │ │ └── TenantLineHandler.java │ │ │ └── inner/ │ │ │ ├── BaseMultiTableInnerInterceptor.java │ │ │ ├── BlockAttackInnerInterceptor.java │ │ │ ├── DataChangeRecorderInnerInterceptor.java │ │ │ ├── DataPermissionInterceptor.java │ │ │ ├── DynamicTableNameJsqlParserInnerInterceptor.java │ │ │ ├── IllegalSQLInnerInterceptor.java │ │ │ ├── PaginationInnerInterceptor.java │ │ │ └── TenantLineInnerInterceptor.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ ├── JSqlParserTest.java │ │ ├── extension/ │ │ │ ├── parser/ │ │ │ │ ├── JsqlParserSimpleSerialTest.java │ │ │ │ └── cache/ │ │ │ │ └── FstFactoryTest.java │ │ │ └── plugins/ │ │ │ ├── MybatisPlusInterceptorTest.java │ │ │ └── inner/ │ │ │ ├── BlockAttackInnerInterceptorTest.java │ │ │ ├── DataChangeRecorderInnerInterceptorTest.java │ │ │ ├── DataPermissionInterceptorTest.java │ │ │ ├── DynamicTableNameInnerInterceptorTest.java │ │ │ ├── DynamicTableNameJsqlParserInnerInterceptorTest.java │ │ │ ├── IllegalSQLInnerInterceptorTest.java │ │ │ ├── MultiDataPermissionInterceptorTest.java │ │ │ ├── PaginationInnerInterceptorTest.java │ │ │ └── TenantLineInnerInterceptorTest.java │ │ └── plugins/ │ │ └── pagination/ │ │ └── SelectBodyToPlainSelectTest.java │ ├── mybatis-plus-jsqlparser-5.0/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── extension/ │ │ │ ├── DynamicTableNameHandler.java │ │ │ ├── parser/ │ │ │ │ ├── JsqlParserFunction.java │ │ │ │ ├── JsqlParserGlobal.java │ │ │ │ ├── JsqlParserSupport.java │ │ │ │ └── cache/ │ │ │ │ ├── AbstractCaffeineJsqlParseCache.java │ │ │ │ ├── FstFactory.java │ │ │ │ ├── FstSerialCaffeineJsqlParseCache.java │ │ │ │ ├── JdkSerialCaffeineJsqlParseCache.java │ │ │ │ └── JsqlParseCache.java │ │ │ └── plugins/ │ │ │ ├── handler/ │ │ │ │ ├── DataPermissionHandler.java │ │ │ │ ├── MultiDataPermissionHandler.java │ │ │ │ └── TenantLineHandler.java │ │ │ └── inner/ │ │ │ ├── BaseMultiTableInnerInterceptor.java │ │ │ ├── BlockAttackInnerInterceptor.java │ │ │ ├── DataChangeRecorderInnerInterceptor.java │ │ │ ├── DataPermissionInterceptor.java │ │ │ ├── DynamicTableNameJsqlParserInnerInterceptor.java │ │ │ ├── IllegalSQLInnerInterceptor.java │ │ │ ├── PaginationInnerInterceptor.java │ │ │ └── TenantLineInnerInterceptor.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ ├── JSqlParserTest.java │ │ ├── extension/ │ │ │ ├── parser/ │ │ │ │ ├── JsqlParserSimpleSerialTest.java │ │ │ │ └── cache/ │ │ │ │ └── FstFactoryTest.java │ │ │ └── plugins/ │ │ │ ├── MybatisPlusInterceptorTest.java │ │ │ └── inner/ │ │ │ ├── BlockAttackInnerInterceptorTest.java │ │ │ ├── DataChangeRecorderInnerInterceptorTest.java │ │ │ ├── DataPermissionInterceptorTest.java │ │ │ ├── DynamicTableNameInnerInterceptorTest.java │ │ │ ├── DynamicTableNameJsqlParserInnerInterceptorTest.java │ │ │ ├── IllegalSQLInnerInterceptorTest.java │ │ │ ├── MultiDataPermissionInterceptorTest.java │ │ │ ├── PaginationInnerInterceptorTest.java │ │ │ └── TenantLineInnerInterceptorTest.java │ │ └── pagination/ │ │ └── SelectBodyToPlainSelectTest.java │ └── mybatis-plus-jsqlparser-common/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── baomidou/ │ └── mybatisplus/ │ └── jsqlparser/ │ ├── JsqlParserThreadPool.java │ └── enums/ │ └── ExpressionAppendMode.java ├── mybatis-plus-spring/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── extension/ │ │ │ ├── activerecord/ │ │ │ │ └── Model.java │ │ │ ├── ddl/ │ │ │ │ └── SimpleDdl.java │ │ │ ├── repository/ │ │ │ │ └── CrudRepository.java │ │ │ ├── service/ │ │ │ │ ├── IService.java │ │ │ │ ├── impl/ │ │ │ │ │ ├── ServiceImpl.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── spi/ │ │ │ │ └── SpringCompatibleSet.java │ │ │ ├── spring/ │ │ │ │ ├── MybatisPlusApplicationContextAware.java │ │ │ │ └── MybatisSqlSessionFactoryBean.java │ │ │ └── toolkit/ │ │ │ └── SqlRunner.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ ├── com.baomidou.mybatisplus.core.spi.CompatibleSet │ │ └── com.baomidou.mybatisplus.extension.spi.CompatibleSet │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ └── service/ │ │ └── ServiceTest.java │ └── kotlin/ │ └── com/ │ └── baomidou/ │ └── mybatisplus/ │ └── test/ │ ├── instance.kt │ └── kotlin/ │ ├── BaseDbTest.kt │ ├── ChainWrappersTest.kt │ ├── DbTest.kt │ ├── FixIssue1986.kt │ ├── User.kt │ ├── UserMapper.kt │ └── WrapperTest.kt ├── settings.gradle └── spring-boot-starter/ ├── build.gradle ├── mybatis-plus-boot-starter/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── autoconfigure/ │ │ │ └── MybatisPlusAutoConfiguration.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── additional-spring-configuration-metadata.json │ │ ├── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ ├── autoconfigure/ │ │ │ └── ApplicationTestStartSuccess.java │ │ └── test/ │ │ ├── MetadataTest.java │ │ ├── MybatisPlusPropertiesTest.java │ │ ├── entity/ │ │ │ └── Test.java │ │ ├── mapper/ │ │ │ └── TestMapper.java │ │ └── pom/ │ │ └── GeneratePomTest.java │ └── resources/ │ ├── application.yml │ └── mapper/ │ ├── modulea/ │ │ └── testa.xml │ └── moduleb/ │ └── testb.xml ├── mybatis-plus-boot-starter-test/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── resources/ │ │ └── META-INF/ │ │ ├── spring/ │ │ │ └── com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports │ │ └── spring.factories │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ └── autoconfigure/ │ │ ├── MybatisPlusSampleTest.java │ │ ├── MybatisPlusTestApplication.java │ │ ├── Sample.java │ │ └── SampleMapper.java │ └── resources/ │ ├── application.yml │ └── schema.sql ├── mybatis-plus-spring-boot-autoconfigure/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── autoconfigure/ │ │ ├── ConfigurationCustomizer.java │ │ ├── DdlApplicationRunner.java │ │ ├── DdlAutoConfiguration.java │ │ ├── IdentifierGeneratorAutoConfiguration.java │ │ ├── MybatisDependsOnDatabaseInitializationDetector.java │ │ ├── MybatisPlusInnerInterceptorAutoConfiguration.java │ │ ├── MybatisPlusLanguageDriverAutoConfiguration.java │ │ ├── MybatisPlusProperties.java │ │ ├── MybatisPlusPropertiesCustomizer.java │ │ ├── SafetyEncryptProcessor.java │ │ ├── SpringBootVFS.java │ │ ├── SqlSessionFactoryBeanCustomizer.java │ │ └── package-info.java │ └── test/ │ └── java/ │ └── com/ │ └── baomidou/ │ └── mybatisplus/ │ └── test/ │ ├── MetadataTest.java │ └── MybatisPlusPropertiesTest.java ├── mybatis-plus-spring-boot-test-autoconfigure/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── baomidou/ │ └── mybatisplus/ │ └── test/ │ └── autoconfigure/ │ ├── AutoConfigureMybatisPlus.java │ ├── MybatisPlusTest.java │ ├── MybatisPlusTestContextBootstrapper.java │ └── MybatisPlusTypeExcludeFilter.java ├── mybatis-plus-spring-boot3-starter/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── autoconfigure/ │ │ │ └── MybatisPlusAutoConfiguration.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── additional-spring-configuration-metadata.json │ │ ├── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ ├── autoconfigure/ │ │ │ └── ApplicationTestStartSuccess.java │ │ └── test/ │ │ ├── MetadataTest.java │ │ ├── MybatisPlusPropertiesTest.java │ │ ├── entity/ │ │ │ └── Test.java │ │ ├── mapper/ │ │ │ └── TestMapper.java │ │ └── pom/ │ │ └── GeneratePomTest.java │ └── resources/ │ ├── application.yml │ └── mapper/ │ ├── modulea/ │ │ └── testa.xml │ └── moduleb/ │ └── testb.xml ├── mybatis-plus-spring-boot3-starter-test/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── resources/ │ │ └── META-INF/ │ │ ├── spring/ │ │ │ └── com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports │ │ └── spring.factories │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ └── test/ │ │ └── autoconfigure/ │ │ ├── MybatisPlusSampleTest.java │ │ ├── MybatisPlusTestApplication.java │ │ ├── Sample.java │ │ └── SampleMapper.java │ └── resources/ │ ├── application.yml │ └── schema.sql ├── mybatis-plus-spring-boot4-starter/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baomidou/ │ │ │ └── mybatisplus/ │ │ │ └── autoconfigure/ │ │ │ └── MybatisPlusAutoConfiguration.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── additional-spring-configuration-metadata.json │ │ ├── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── baomidou/ │ │ └── mybatisplus/ │ │ ├── autoconfigure/ │ │ │ └── ApplicationTestStartSuccess.java │ │ └── test/ │ │ ├── MetadataTest.java │ │ ├── MybatisPlusPropertiesTest.java │ │ ├── entity/ │ │ │ └── Test.java │ │ ├── mapper/ │ │ │ └── TestMapper.java │ │ └── pom/ │ │ └── GeneratePomTest.java │ └── resources/ │ ├── application.yml │ └── mapper/ │ ├── modulea/ │ │ └── testa.xml │ └── moduleb/ │ └── testb.xml └── mybatis-plus-spring-boot4-starter-test/ ├── build.gradle └── src/ ├── main/ │ └── resources/ │ └── META-INF/ │ ├── spring/ │ │ └── com.baomidou.mybatisplus.test.autoconfigure.AutoConfigureMybatisPlus.imports │ └── spring.factories └── test/ ├── java/ │ └── com/ │ └── baomidou/ │ └── mybatisplus/ │ └── test/ │ └── autoconfigure/ │ ├── MybatisPlusSampleTest.java │ ├── MybatisPlusTestApplication.java │ ├── Sample.java │ └── SampleMapper.java └── resources/ ├── application.yml └── schema.sql