IDEA有个很实用的功能就是连接数据库之后能通过内置的groovy脚本自动生成POJO类
如图:
虽然很方便,不过还是有一些不足之处,如下图:
包名是写死的,这个是最让人不爽的一点
如果项目中用了lombok,那下面的那一堆getter,setter就显得很多余了,一个@Data注解就能搞定的事
一些数据类型映射的问题,这是IDEA默认的数据库字段与Java类型的映射关系
1
2
3
4
5
6
7
8typeMapping = [
(~/(?i)int/) : "long",
(~/(?i)float|double|decimal|real/): "double",
(~/(?i)datetime|timestamp/) : "java.sql.Timestamp",
(~/(?i)date/) : "java.sql.Date",
(~/(?i)time/) : "java.sql.Time",
(~/(?i)/) : "String"
]不过我更喜欢下面的这种:
1
2
3
4
5
6
7
8typeMapping = [
(~/(?i)int/) : "Integer",
(~/(?i)float|double|decimal|real/): "Double",
(~/(?i)datetime|timestamp/) : "java.utils.Date",
(~/(?i)date/) : "java.utils.Date",
(~/(?i)time/) : "java.sql.Time",
(~/(?i)/) : "String"
]看个人习惯吧
这是我根据自己的喜好修改的
主要修改了一下几点:
- 支持生成包名(目录必须是maven项目的结构)
- 将默认生成的getter,setter代码以 @Data lombok注解代替
- 按个人习惯修改数据库字段与Java类型的映射关系
1 | import com.intellij.database.model.DasTable |
修改方法:
在Project视图下的 Scratches and Consoles -> extensions -> Database Tools and SQL -> schema 目录下,直接修改默认的 Generate POJOs.groovy 文件,或者新建一个 groovy 文件,将代码粘贴进去即可
该目录在磁盘中的路径如下:
效果:
还有一点IDEA 做的比较细节的就是,可以通过Ctrl或者Shift选中多个表,然后就能同时生成多个POJO
这是IDEA自带的生成POJO的groovy脚本
1 | import com.intellij.database.model.DasTable |