idea快速生成实体类Entity(找了半天,自己一步就搞出来了)

本文介绍如何使用IDEA高效地连接MySQL数据库并快速生成实体类,提高开发效率。


第一步、用idea连接数据库(我这里用的mysql)




第二步、关键的来了,玛德怪不得idea开发效率高,生成实体类一步搞定

(右键选择生成实体的表,那个Generare POJO就是了,屌不屌…………太屌了,然后稍微修改一下下)




在 IntelliJ IDEA快速生成实体类的方法可以通过数据库连接和自定义 Groovy 脚本实现,具体步骤如下: 1. **配置数据库连接** 打开 IntelliJ IDEA,通过 `Database` 工具窗口连接到目标数据库。在 `Data Sources and Drivers` 设置中配置数据库连接信息,确保可以成功访问数据库表结构。 2. **创建 Groovy 脚本** 在项目中创建一个新的 Groovy 脚本文件,例如 `GenerateMyPOJOs.groovy`。该脚本用于定义实体类生成逻辑,包括字段名称、类型映射以及类结构等。可以参考以下 Groovy 脚本片段: ```groovy import com.intellij.database.model.DasTable import com.intellij.database.model.ObjectKind import com.intellij.database.util.Case import com.intellij.database.util.DasUtil /* * 可用于生成实体类的 Groovy 脚本 */ def generate(DasTable table) { def className = Case.toUpperCamel(table.getName().toLowerCase()) def fields = DasUtil.getColumns(table).collect { column -> def fieldName = Case.toLowerCamel(column.getName().toLowerCase()) def fieldType = getJavaType(column.getDataType().getDefaultValue()) [name: fieldName, type: fieldType] } return generateClass(className, fields) } def getJavaType(String sqlType) { switch (sqlType) { case ~/.*int.*/: return "Integer" case ~/.*varchar.*/: return "String" case ~/.*datetime.*/: return "LocalDateTime" default: return "Object" } } def generateClass(String className, List fields) { def writer = new StringWriter() writer << "public class $className {\n" fields.each { field -> writer << " private ${field.type} ${field.name};\n" } writer << "\n" fields.each { field -> writer << " public ${field.type} get${Case.toUpperCamel(field.name)}() {\n" writer << " return this.${field.name};\n" writer << " }\n\n" writer << " public void set${Case.toUpperCamel(field.name)}(${field.type} ${field.name}) {\n" writer << " this.${field.name} = ${field.name};\n" writer << " }\n\n" } writer << "}" return writer.toString() } ``` 3. **运行脚本生成实体类** 在数据库工具窗口中选择需要生成实体类的表,右键并选择执行 Groovy 脚本选项。脚本将根据表结构生成对应的 Java 实体类代码,并在项目中创建相应的类文件。 4. **引入 Lombok 依赖(可选)** 为了减少样板代码,可以在 `pom.xml` 文件中添加 Lombok 依赖,以自动生成 `getter`、`setter` 和 `toString` 方法[^2]: ```xml <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.22</version> <scope>provided</scope> </dependency> ``` 5. **使用 JPA 注解(可选)** 如果项目使用 JPA 框架,可以在生成实体类中添加相应的 JPA 注解,例如 `@Entity`、`@Table` 和 `@Id`,以支持 ORM 映射。 6. **生成 `serialVersionUID`(可选)** 如果需要实现 `Serializable` 接口的实体类,可以通过 IntelliJ IDEA 的设置自动生成 `serialVersionUID` 字段。可以通过 `Settings > Editor > Inspections > Serializable class without 'serialVersionUID'` 启用相关提示,并根据需求选择默认值 `1L` 或基于类结构生成的哈希值 [^3]。 通过以上步骤,可以在 IntelliJ IDEA 中高效地生成实体类,并结合 Lombok 和 JPA 注解优化代码结构。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多来哈米

还可以打赏???来试一毛

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值