枚举类拼接为sql语句

167 阅读1分钟
public class GenerateEnumSql {
    public static void main(String[] args) {
        Class<TxType> cls = TxType.class;
        String enumName = "交易类型";

        StringBuilder sqlBuilder = new StringBuilder();
        for (TxType value : cls.getEnumConstants()) {
            String name = cls.getSimpleName().replaceAll("([A-Z])", "_$1").replaceFirst("_", "");
            sqlBuilder.append(
                    String.format(
                            "INSERT INTO BBS_BASE_DATA (CREATE_TIME, CREATOR, UPDATE_TIME, UPDATER, CODE, VALUE, CNAME, ENAME, VALID_DATE, INVALID_DATE, REMARK, APP_NO) values (CURRENT_TIMESTAMP,'sys',CURRENT_DATE,'sys','%s','%s','%s',null,CURRENT_DATE,null,'%s','BILL_MANAGER');\n"
                            , name.toUpperCase(Locale.ROOT), value.getCode().toUpperCase(Locale.ROOT), value.getName(), enumName + "-" + value.getName()
                    ));
        }
        System.out.println(sqlBuilder.toString());
    }
}