开心一笑
【天气热了 翻箱倒柜找了半天短袖 结果找出来一看 全是些名牌短袖 感觉穿出去太高调了 比如什么中国电信啊 天翼4G啊 太太乐鸡精啊 莲花味精啊 海天酱油啊。。最珍贵的一件 要属那件史丹利复合肥 跟刘能同款 哎头大了纠结该穿哪个好呢?穿出去不会被人说我炫富吧】
视频教程
大家好,我录制的视频《Java之优雅编程之道》已经在优快云学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……
视频地址:http://edu.youkuaiyun.com/lecturer/994
提出问题
如何利用Java + FreeMarker 生成枚举类和相关的数据库脚本???
解决问题
业务场景
做业务开发的时候,我们通常要定义很多枚举类,写好java枚举类时候,还要在数据库插入相对应的字典值等,然后生成 sql 文件提交到SVN的增量脚本里面。为了解决这些问题,有必要开发一个枚举和脚本自动生成的工具类, 自动生成枚举类和增量脚本,避免简单和不必要的错误。
分享的这个工具类,并不是适合每个公司,因为每家公司有每家公司的框架,只是想传达一种实现:多开发一些适合你们公司的工具类,减少重复性的工作,把跟多的时间和精力投入到重要的事情上。
代码实现
EnumGenerateUtils工具类
在我们的项目中,枚举是有分类的。
package com.evada.inno.pm.code.generate.util;
import com.evada.inno.pm.code.generate.model.EnumDictCategoryDefinition;
import com.evada.inno.pm.code.generate.model.EnumInfoDefinition;
import freemarker.template.Template;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 描述:枚举类代码生成工具
* Created by Ay on 2017/5/5.
*/
public class EnumGenerateUtils {
//枚举需要生成到那个包下面
private final String packageName = "com.evada.pm.process.manage";
//枚举分类的code 和 字典表中的 categoryCode必须一致
pr