idea package自动生成_IDEA自动生成pojo实体类模板
-由于直接用idea的自动实体生成,他的包名是不会变的,而且类型也不是自己想要的,这里把我一直用的这份模板分享出来
点击你需要的表右键——>选择下图的Go to Scripts Directory——>在项目的目录就会显示,把以下的模板替换进去即可。
模板:
import com.intellij.database.model.DasTable
import com.intellij.database.util.Case
import com.intellij.database.util.DasUtil
/*
* Available context bindings:
* SELECTION Iterable
* PROJECT project
* FILES files helper
*/
typeMapping = [
(~/(?i)int/) : "Integer",
(~/(?i)float|double|decimal|real/): "Double",
(~/(?i)datetime|timestamp/) : "java.util.Date",
(~/(?i)date/) : "java.util.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) {
def className = javaName(table.getName(), true)
def fields = calcFields(table)
new File(dir, className + ".java").withPrintWriter { out -> generate(dir,out, className, fields) }
}
def generate(dir,out, className, fields) {
out.println "package " + dir.getAbsolutePath().split("main.java.")[1].replace("\\", ".").replaceAll("/", ".") + ";"
out.println ""
out.println "import lombok.Data;"
out.println ""
out.println "@Data"
out.println "public class $className {"
out.println ""
fields.each() {
if (it.annos != "") out.println " ${it.annos}"
out.println " private ${it.type} ${it.name};"
}
out.println ""
out.println "}"
}
def calcFields(table) {
DasUtil.getColumns(table).reduce([]) { fields, col ->
def spec = Case.LOWER.apply(col.getDataType().getSpecification())
def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
fields += [[
name : javaName(col.getName(), false),
type : typeStr,
annos: ""]]
}
}
def javaName(str, capitalize) {
def s = com.intellij.psi.codeStyle.NameUtil.splitNameIntoWords(str)
.collect { Case.LOWER.apply(it).capitalize() }
.join("")
.replaceAll(/[^\p{javaJavaIdentifierPart}[_]]/, "_")
capitalize || s.length() == 1? s : Case.LOWER.apply(s[0]) + s[1..-1]
}
效果如图:
——感谢浏览♥
idea package自动生成_IDEA自动生成pojo实体类模板相关推荐
- MyBatis的逆向工程工具,自动生成数据库对应的POJO实体类、mapper接口、增删改查mapper.xml文件
下载MyBatis的逆向工程工具,并解压缩到一个不包含中文字符的文件夹下,我直接放到了D盘下,下载地址:MyBatis逆向工程工具下载 如何使用MyBatis的逆向工程工具 下载之后使用idea在一个 ...
- 用MyEclipse自动生成hibernate映射文件和实体类
创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 1 创建数据库,创建 ...
- CodeSmith生成SQL Server视图的实体类脚本/对应的生成模板
C#生成sql视图的实体类 using System; using System.Text; using CodeSmith.Engine; using SchemaExplorer; using S ...
- idea package自动生成_Idea 自动生成Junit单元测试插件JunitGenerator
JunitGenerator Idea中提供了可以自动生成Junit单元测试的插件,JunitGenerator.本篇文章将介绍如何在idea中安装.配置及使用JunitGenerator,以方便大家 ...
- idea + groovy + mybatis 自动生成 Dao、mappings 和 实体类
背景 在 windows 系统中,idea 在 C:\Users\用户名\.IntelliJIdea2018.2\config\extensions\com.intellij.database\sch ...
- IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...
- springboot中使用generator自动生成mybatis的接口、实体类和映射文件-springboot学习笔记
在使用mybatis的时候,我们需要自己建立实体类.接口和对应的映射文件.一个字母写错就可能导致运行不起来,很是麻烦.使用generator可以帮助我们自动生成上述的文件. 首先,新建一个spring ...
- html单页面js完成表数据库自动生成带注释的java实体类和简单的增删改查sql
支持Mysql和Oracle,mybatis和ibatis可选.功能主要还是字符串的拼凑完成的,把用把表信息复制过来或者增加后台,就可以生成简单的增删改查了 临时体验点这里 我也不知道地址什么时候失效 ...
- Eclipse利用Database Connections连接数据库并实现从数据库逆向生成Hibernate带注解的实体类
转自: https://blog.csdn.net/qq_37844454/article/details/84194179 https://www.cnblogs.com/pretty-sunshi ...
最新文章
- Kubernetes的四种用户部署场景
- webservice 的datetime不能为null_用.net发布一个简单的webservice
- list java removeif_java – removeIf()方法.从List中删除所有元素
- [html] html5中的meta标签renderer有什么作用?
- 解决“Cmake error :generator: Ninja“问题
- 【题解】洛谷P3435 [POI2006] OKR-Periods of Words(KMP)
- ajax调用后台java方法,jquery ajax再次封装,前台调用后台java方法直接返回数据
- Nginx 为什么快到停不下来?
- ActiveX控件属性
- linux c select函数返回值,linux c中select使用技巧
- 高考改变命运,来自一个湖南贫困村的真实样本
- 【数字信号处理】fft幅频特性和相频特性理解
- LU分解算法(串行、并行)
- 苹果6能解掉id锁吗_iPhone进水保修吗?苹果官方正式回应了
- from StyleFrame import StyleFrame, Styler ModuleNotFoundError: No module named ‘StyleFrame‘
- 2022数据安全法律法规标准关注文件整理
- pytorch中view()和flatten
- C语言实现斐波那契数列。
- 虚拟变量在模型中的作用
- Exchange 2016的MAPI over HTTP简介
热门文章
- vue项目H5 跳转微信小程序
- CentOS 7 多网卡绑定
- 云ubuntu服务器配置
- APM终端用户体验监控分析(下)
- QueryPerformanceFrequency使用方法--Windows高精度定时计数
- python中options类_Python的OptionParser模块
- [Git] 关于refs/for/ 和refs/heads/
- 三维点云学习(4)7-ransac 地面分割+ DBSCAN聚类比较
- 三维点云学习(1)上-PCA主成分分析 法向量估计
- k8s glusterfs mysql_k8s使用glusterfs实现动态持久化存储