# mybatis-generator-core
**Repository Path**: ht896632/mybatis-generator-core
## Basic Information
- **Project Name**: mybatis-generator-core
- **Description**: mybatis代码生成工具,基于mybatis-generator-core 1.3.5版本进行扩展,在使用该代码生成器前假设你已经有使用mybatis-generator-core生成工具的经验,已经熟知各项配置,如不熟悉请自行在网络中搜索官方版本的使用方法和配置,扩展都是以插件的形式提供,未对官方源码进行修改,如不需要扩展后的版本,只需要在xml中去掉相关的扩展插件即可
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 101
- **Forks**: 18
- **Created**: 2015-10-14
- **Last Updated**: 2025-02-23
## Categories & Tags
**Categories**: code-generator
**Tags**: None
## README
#### 重点:在使用之前,请认真阅读,请不要在自己写的地方添加 WARNING - @mbg.generated 这个注释,也不要删除自动生成的 WARNING - @mbg.generated 注释,因为合并是根据这个注释进行做操作的,如果不注意,重复生成时会覆盖自行添加的代码,谨记!!!
#### 使用条件
mybatis代码生成工具,基于mybatis-generator-core 1.3.5版本进行扩展,在使用该代码生成器前假设你已经有使用mybatis-generator-core生成工具的经验,已经熟知各项配置,如不熟悉请自行在网络中搜索官方版本的使用方法和配置,扩展都是以插件的形式提供,未对官方源码进行修改,如不需要扩展后的版本,只需要在xml中去掉相关的扩展插件即可
#### 启动入口
```
org.mybatis.generator.MyBatisGeneratorTest
```
注意:该类放在测试(test)目录下
#### 自定义插件列表
##### 1.重命名Example名称插件
```
```
参数说明:
searchString: 替换前的名称
replaceString:替换后的名称
##### 2.重命名Mapper.java和mapper.xml文件中的Example名称插件
```
```
参数说明:
searchString: 替换前的名称
replaceString:替换后的名称
##### 3.分页插件
```
```
参数说明:
limitStartName:分页参数开始名称
limitSizeName:分页参数结束名称
##### 4.去掉表前缀、修改Mapper文件的后缀插件
```
```
参数说明:
tablePrefix:表的前缀,不包括分隔符;如:tc_user,只需要填写tc就可以,区分大小写
mapperSuffix:Mapper文件的后缀名称;如UserMapp >>>> UserDao
注意:如果在table标签中设置了domainObjectName、mapperName后以table中设置的为准
##### 5.BaseDao插件
```
```
参数说明:
name:BaseDao的名称,可以自己定义;默认建议为BaseDao
targetProject:BaseDao所在的工程
targetPackage:BaseDao所在的包
##### 6.通用查询ExampleClass包名更改插件
```
```
参数说明:
targetPackage:修改后ExampleClass所在的包名称
isProject:true:表示和数据访问层接口在同一工程;false:表示和Model在同一工程
##### 7.单个对象通用查询方法插件
```
```
参数说明:
示例方法:
```
Xxxxxx selectSingleByCriteria(XxxxxCriteria criteria);
```
##### 8.批量修改方法插件
```
```
参数说明:
示例方法:
```
int updateBatchByPrimaryKeySelective(List records);
```
##### 9.BaseService插件
```
```
参数说明:
name:BaseService的名称,可以自定义
---
targetBaseServiceProject:BaseService接口所在的工程
targetPackageBaseService:BaseService接口所在的包
targetBaseServiceImplProject:BaseServiceImpl接口实现所在的工程
targetPackageBaseServiceImpl:aseServiceImpl接口实现所在的包
---
targetBusinessServiceProject:具体业务接口所在的工程
targetPackageBusinessService:具体业务接口所在的包
targetBusinessServiceImplProject:具体业务接口实现所在的工程
targetPackageBusinessServiceImpl:具体业务接口实现所在的包
---
searchString:Example替换前的名称,全局替换的地方必须保持一致
replaceString:Example替换后的名称,全局替换的地方必须保持一致
baseDaoPackage:BaseDao所在的包,必须配置
##### 10.数据类型转换插件
```
```
参数说明:
forceBigDecimals:true:当数据类型为decimal时,始终生成BigDecimal;false:当数据库类型为decimal时,但是没有小数点的时候,则生成Long类型;建议设置为true
注意:MyJavaTypeResolverDefaultImpl中当数据库类型为BIT和TINYINT时,都映射为为java中的Integer类型
注意:源码中默认提供了配置模板xml文件,可根据实际需求进行修改(generatorConfigTemplate.xml);配置文件放在test下的resources目录