mybatis-plus 生成代码包含注释
时间: 2023-09-04 10:02:05 浏览: 165
MyBatis-Plus是一款基于MyBatis的ORM框架,它简化了MyBatis的开发流程,并提供了一系列增强功能。在使用MyBatis-Plus生成代码时,我们可以选择是否生成注释。
生成代码包含注释的好处是可以增加代码的可读性和可维护性。注释可以提供对代码的解释和说明,方便其他开发人员理解和修改。注释还可以作为文档,帮助开发人员更好地了解代码的作用和使用方式。
在使用MyBatis-Plus生成代码时,可以通过配置文件或注解的方式控制是否生成注释。在配置文件中,可以设置生成代码时是否生成注释的开关。如果设置为true,生成的代码将包含注释;如果设置为false,生成的代码将不包含注释。通过注解的方式,可以在实体类的属性上添加注释,生成的代码会将注解中的注释内容一同生成。
总之,MyBatis-Plus生成代码时包含注释是可选的,我们可以根据项目需求和个人喜好来决定是否生成注释。注释可以提高代码的可读性和可维护性,但同时也会增加代码量和生成时间,因此需要权衡利弊来决定是否使用注释。
相关问题
mybatis-plus代码生成器去除注释中的日期
可以在代码生成器的配置文件中设置一个自定义的注释模板,在模板中去除日期部分。具体操作如下:
1. 找到代码生成器的配置文件,一般为 `mybatis-plus-generator\src\main\resources\generator\generatorConfig.xml`。
2. 在配置文件中找到 `commentGenerator` 配置项,修改为以下内容:
```xml
<commentGenerator type="com.baomidou.mybatisplus.generator.config.CustomCommentGenerator">
<!-- 去除日期的注释模板 -->
<property name="author" value="Your Name"/>
<property name="dateFormat" value=""/>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="false"/>
</commentGenerator>
```
3. 新建一个 `CustomCommentGenerator` 类,继承 `DefaultCommentGenerator` 类,并重写 `addGeneralMethodComment()` 和 `addGeneralMethodAnnotation()` 方法。代码如下:
```java
public class CustomCommentGenerator extends DefaultCommentGenerator {
/**
* 去除日期的方法注释模板
*/
private static final String METHOD_COMMENT_TEMPLATE_WITHOUT_DATE = " * %s";
/**
* 去除日期的方法注解模板
*/
private static final String METHOD_ANNOTATION_TEMPLATE_WITHOUT_DATE = "@%s";
/**
* 去除日期的方法注释
*/
@Override
public void addGeneralMethodComment(Method method, IntrospectedTable introspectedTable) {
StringBuilder sb = new StringBuilder();
method.addJavaDocLine("/**");
sb.append(String.format(METHOD_COMMENT_TEMPLATE_WITHOUT_DATE, method.getName()));
method.addJavaDocLine(sb.toString());
method.addJavaDocLine(" */");
}
/**
* 去除日期的方法注解
*/
@Override
public void addGeneralMethodAnnotation(Method method, IntrospectedTable introspectedTable,
Set<FullyQualifiedJavaType> set) {
String annotationName = null;
for (FullyQualifiedJavaType type : set) {
annotationName = type.getShortName();
break;
}
if (annotationName != null) {
StringBuilder sb = new StringBuilder();
sb.append(String.format(METHOD_ANNOTATION_TEMPLATE_WITHOUT_DATE, annotationName));
method.addAnnotation(sb.toString());
}
}
}
```
4. 在配置文件中加入 `CustomCommentGenerator` 类的配置,修改 `commentGenerator` 为以下内容:
```xml
<commentGenerator type="com.baomidou.mybatisplus.generator.config.CustomCommentGenerator">
<!-- 去除日期的注释模板 -->
<property name="author" value="Your Name"/>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="false"/>
</commentGenerator>
```
5. 重新运行代码生成器,生成的代码中注释中的日期就被去除了。
mybatis-plus的代码生成器使用方法
MyBatis-Plus 的代码生成器是一个非常方便的工具,可以帮助我们快速生成 MyBatis 相关的 DAO、Mapper、Entity、Service、Controller 等代码。具体使用方法如下:
1. 引入 MyBatis-Plus 的代码生成器依赖
在 Maven 中添加以下依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 配置代码生成器
在项目的配置文件中,添加 MyBatis-Plus 的代码生成器配置项:
```yaml
mybatis-plus:
# 配置代码生成器
generator:
# 配置数据库相关信息
database:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC
username: root
password: 管理员密码
# 配置全局策略
global-config:
# 是否开启AR模式
active-record: true
# 是否在mapper.xml中生成查询结果Map元素
enable-result-map: true
# 是否在mapper.xml中生成基础列字段元素
enable-column-list: true
# 自定义文件命名,注意 %s 会自动填充表实体属性
entity-name: %sDO
# 配置包信息
package-info:
# 父包名
parent: com.example.mybatisplus.generator
# 实体类包名
entity: entity
# mapper接口层包名
mapper: dao
# service层包名
service: service
# service实现类包名
service-impl: service.impl
# controller包名
controller: controller
```
3. 运行代码生成器
在项目中创建一个 `CodeGenerator` 类,编写如下代码:
```java
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator generator = new AutoGenerator();
generator.setGlobalConfig(config());
generator.setDataSource(dataSourceConfig());
generator.setPackageInfo(packageConfig());
generator.setStrategy(strategyConfig());
generator.setTemplate(templateConfig());
generator.execute();
}
private static GlobalConfig config() {
GlobalConfig config = new GlobalConfig();
// 配置输出目录
config.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
// 是否覆盖已有文件
config.setFileOverride(true);
// 是否开启 Swagger2 注解
config.setSwagger2(true);
// 开启 AR 模式
config.setActiveRecord(true);
// 配置基础表字段生成
config.setBaseColumnList(true);
// 配置通用 Mapper 的 baseResultMap
config.setBaseResultMap(true);
// 配置是否生成 XML 的注释
config.setXmlName("%sMapper");
config.setAuthor("作者名");
config.setOpen(false);
return config;
}
private static DataSourceConfig dataSourceConfig() {
DataSourceConfig config = new DataSourceConfig();
config.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC");
config.setDriverName("com.mysql.jdbc.Driver");
config.setUsername("root");
config.setPassword("管理员密码");
return config;
}
private static PackageConfig packageConfig() {
PackageConfig config = new PackageConfig();
config.setParent("com.example.mybatisplus.generator");
config.setEntity("entity");
config.setMapper("dao");
config.setService("service");
config.setServiceImpl("service.impl");
config.setController("controller");
return config;
}
private static StrategyConfig strategyConfig() {
StrategyConfig config = new StrategyConfig();
// 配置表名的生成策略
config.setNaming(NamingStrategy.underline_to_camel);
config.setColumnNaming(NamingStrategy.underline_to_camel);
// 设置需要生成的表名
config.setInclude("user_info");
// 配置Lombok属性
config.setEntityLombokModel(true);
config.setRestControllerStyle(true);
// 配置是否生成注解@TableField
config.setEntityTableFieldAnnotationEnable(true);
// 配置通用 Mapper
config.setEntityBooleanColumnRemoveIsPrefix(true);
config.setRestControllerStyle(true);
config.setEntitySerialVersionUID(true);
config.setEntityBuilderModel(true);
config.setEntityColumnConstant(true);
return config;
}
private static TemplateConfig templateConfig() {
TemplateConfig config = new TemplateConfig();
// 配置自定义模板,不配置就用默认的
return config;
}
}
```
在 `main` 方法中设置好配置信息,并调用 `execute` 方法执行代码生成器即可。
4. 查看生成的代码
代码生成器会在程序运行的当前目录下生成生成的代码。在 IDEA 中可以通过 `Project` 窗口中的 `src/main/java` 目录打开生成代码目录,可以看到生成的 DAO、Mapper、Entity、Service、Controller 等代码。
阅读全文