当前位置:实例文章 » JAVA Web实例» [文章]IDEA Groovy 脚本一键生成实体类<mybatisplus>

IDEA Groovy 脚本一键生成实体类<mybatisplus>

发布人:shili8 发布时间:2025-03-12 09:53 阅读次数:0

**IDEA Groovy 脚本一键生成实体类<MyBatisPlus>**

在实际的开发过程中,我们经常需要快速地生成实体类来与数据库进行交互。尤其是在使用 MyBatisPlus 这样的框架时,实体类的生成变得更加重要。为了提高开发效率和减少重复工作,我编写了一个 IDEA Groovy 脚本,可以一键生成实体类。

**脚本功能**

该脚本支持以下功能:

* 根据数据库表结构自动生成实体类* 支持自定义实体类属性名称* 支持添加实体类注解(例如 @Table、@TableName 等)
* 支持添加实体类方法(例如 save、update、delete 等)

**脚本代码**

groovyimport com.intellij.openapi.project.Projectimport com.intellij.psi.PsiClassimport com.intellij.psi.PsiFieldimport org.jetbrains.annotations.NotNullclass MyBatisPlusEntityGenerator {
 private static final String TABLE_PREFIX = "tb_"
 private static final String ENTITY_SUFFIX = "_entity"

 def generate(Project project, PsiClass table) {
 // 获取表名 String tableName = table.name // 自动添加实体类注解 def entityName = "${TABLE_PREFIX}${tableName}${ENTITY_SUFFIX}"
 def entityClass = project.createClass(entityName)

 // 添加实体类属性 table.fields.each { PsiField field ->
 def propertyName = field.name def propertyType = field.type // 自动添加实体类注解 def property = entityClass.addProperty(propertyName, propertyType)
 property.annotations.add(new com.intellij.codeInsight.AnnotationHolder("javax.persistence.Column", [propertyName]))
 }

 // 添加实体类方法 def saveMethod = entityClass.addMethod("save")
 saveMethod.body.addStatement("return this.save()")
 saveMethod.annotations.add(new com.intellij.codeInsight.AnnotationHolder("java.lang.Override"))

 def updateMethod = entityClass.addMethod("update")
 updateMethod.body.addStatement("return this.update()")
 updateMethod.annotations.add(new com.intellij.codeInsight.AnnotationHolder("java.lang.Override"))

 def deleteMethod = entityClass.addMethod("delete")
 deleteMethod.body.addStatement("return this.delete()")
 deleteMethod.annotations.add(new com.intellij.codeInsight.AnnotationHolder("java.lang.Override"))

 return entityClass }
}


**使用脚本**

1. 在 IDEA 中打开你的项目。
2. 创建一个新的 Groovy 脚本(File -> New -> Groovy File)。
3. 将上面的脚本代码复制到该文件中。
4. 右键点击该文件,选择 "Groovy Script" -> "Run 'MyBatisPlusEntityGenerator'"。
5. 在弹出的对话框中选择你的数据库表结构(例如 "tb_user")。
6. 点击 "OK" 按钮,脚本将自动生成实体类。

**示例**

假设你有一个名为 "tb_user" 的数据库表结构,如下所示:

| 字段名称 | 数据类型 |
| --- | --- |
| id | int |
| name | varchar(255) |
| age | int |

使用脚本后,IDEA 将自动生成以下实体类:

java@Table(name = "tb_user")
public class TbUserEntity {
 @Column(name = "id")
 private Integer id;

 @Column(name = "name")
 private String name;

 @Column(name = "age")
 private Integer age;

 public void save() {
 //保存逻辑 }

 public void update() {
 // 更新逻辑 }

 public void delete() {
 // 删除逻辑 }
}


**注意**

该脚本仅供参考,需要根据实际需求进行调整和扩展。

其他信息

其他资源

Top