mysql java代码生成器_java代码生成器

新建项目时,创建Dao、Service、ServiceImpl、Po过于繁琐,所以使用模板工具写了一个代码生成器。

使用技术:mysql+velocity+springboot

项目github:https://github.com/lcp22/fcct

实现效果:自动获取数据库表名及列相关属性,自动创建相应的Dao、Service、ServiceImpl、Po。

8c3ce78bdcc4c368e2888529525cb59c.png

库里有21张表,不到2秒的时间,就能自动生成基础的模型,效率还不错。生成内容部分截图:

dao

4ac70f2ab869a3ec324d3c045a121223.png

po

5cc1c5b7e0afe6e611cab96d933b4da1.png

service

488c8642faaf2dd25509bae5deda4f17.png

serviceImp

8f460371928a99ba32892f19186d67f4.png

现有BUG:

1.如果数据库的某张表只有一个字段,生成该表的模型会出现问题。

2.由于现在表字段只用部分类型,所以字段类型转换不全。

privateString formatSqlParamater(String sqlParamater){

String paramater= "";switch(sqlParamater){case "int":

paramater= "Integer";break;case "bigint":

paramater= "Long";break;case "varchar":

paramater= "String";break;case "datetime":

paramater= "Date";break;case "timestamp":

paramater= "Date";break;

}returnparamater;

}

使用步骤,根据环境和需求修改CodeTemplates.properties,然后直接在FcctApplicationTests调用contextLoads:

#是否重复创建

COVER_FLAG= false#生成文件上级路径

CODE_PACKAGE= src/main/java/cn/lcp/fcct/#需要生成文件:po,dao,service,serverImpl

TEMPLATES=po,dao,service,serviceImpl

#生成insert_sql和update_sql时是否过滤第一个字段:即ID

EXCLUDE_FIRST_PARAMATER= true#生成insert_sql和update_sql时过滤数据库字段

EXCLUDE_FILES=is_status,create_time

#生成实体类时过滤字段

EXCLUDE_FILEDS= is_status,create_time,last_time

@Testpublic voidcontextLoads() {long t =System.currentTimeMillis();

System.out.println("-------------------------开始------------------------------");//创建代码生成器工厂

CodeFactory codeFactory =CodeFactory.getInstance();//获取所有表名

List tableNames =codeFactoryDao.getTableName();for(String tableName:tableNames) {//获取表相关属性

List informationSchemas =codeFactoryDao.getColumnName(tableName);//创建文件

codeFactory.CreateCode(tableName,informationSchemas);

}

System.out.println("-------------------------结束------------------------------");

System.out.println("----------------耗时:"+(System.currentTimeMillis()-t)+"毫秒------------------------------");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值