前景
首先web项目是jpa做持久层框架,数据库设计先行,所以有需要根据公司的项目结构和规范生成项目下不同分层的类。
使用
idea 2019.2中的 view工具栏下的Tool windows下的database单击一下再右侧菜单栏出现database标签,然后连接数据库,就是填用户名密码,url,等信息。然后选择数据库即schema,找到schema下的表如下图的test库下的demo表,右键点击后选择Scripted Extensions后选择 Generate POJOs.groovy,点击后会让你选择生成的目录。点击goto scripts directory找到项目下的groovy脚本的存放地址,在idea左侧项目下,打开Generate POJOs.groovy,是一个groovy语言的脚本







import com.intellij.database.model.DasTable
import com.intellij.database.util.Case
import com.intellij.database.util.DasUtil
/*
* Available context bindings:
* SELECTION Iterable<DasObject>
* PROJECT project
* FILES files helper
*/
// 设置包名,生成java文件时的包名,需要按自己所需修改
packageName = "com.sample;"
// 数据库类型和java类型的映射,需要稍微修改,如时间类型可能使用java8的时间类型,或者java.util.Date或者字符串类型等如:
/* (~/(?i)bigint/) : "Long",
(~/(?i)int|tinyint/) : "Integer",
(~/(?i)float|double|decimal|real/): "java.math.BigDecimal",
(~/(?i)date|datetime|timestamp/) : "java.util.DateTime",*/
typeMapping = [
(~/(?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"
]
FILES.chooseDirectoryAndSave("Choose directory", "Choose where to store generated files") {
dir ->
SELECTION.filter {
it instanceof DasTable }.each {
// 获取到输入的表和输出文件目录
generate(it, dir) }
}
def generate(table, dir) {
// 自定义的类名生成方法,就是将 t_demo变成 TDemo,当然你可以修改这个方法,如果格式统一你就直接改方法,最好是通过配置的方式进行修改,当然我是没搞这么复杂,配置后面好维护和使用
def className = javaName(table.getName(), true)
// 获取表里的所有字段
def fields = calcFields(table)
// 生成字符串并写文件生成java文件
new File(dir, className + ".java").withPrintWriter {
out -> generate(out

本文介绍了如何在IntelliJ IDEA中基于数据库表利用JPA生成实体类,并结合Lombok进行代码优化。通过连接数据库,选择表,然后使用Scripted Extensions的Generate POJOs.groovy脚本,自定义生成目录。由于IDEA默认的生成方式不满足代码规范,作者选择了编写Groovy脚本来实现符合公司规范的JPA实体。
最低0.47元/天 解锁文章
2953

被折叠的 条评论
为什么被折叠?



