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

使用技术:mysql+velocity+springboot

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

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

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

dao

po

service

serviceImp

现有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)+"毫秒------------------------------");

}

mysql java 代码生成器_java代码生成器相关推荐

  1. java代码生成_Java代码生成器CodeX4J介绍

    用代码生成器生成一些固定的或有规律的代码,可以有效的提高工作效率.我写了个开源的,放在了GitHub上,希望能对有需要的朋友有所帮助. 先做一下简单介绍: CodeX4J是一款开源的Java代码生成器 ...

  2. java代码生成器_java代码生成器怎么用

    展开全部 zip包,然后62616964757a686964616fe78988e69d8331333363396335自动下载下来 1.预先定义好模板 2.界面输入相关参数 3.解析模板生成代码并下 ...

  3. 基于JAVA开发的全能代码生成器 - JustGen代码生成器

    基于JAVA开发的全能代码生成器 - JustGen代码生成器 一直以来总是在代码搬运,虽然网上好多代码生成器,但是基本上都是针对项目的,项目什么样,代码生成器就什么样,项目调整,通样代码生成器也要调 ...

  4. mysql:java.lang.ClassCastException: java.base/java.math.BigInteger出现类型转换错误

    一.错误信息 mysql:java.lang.ClassCastException: java.base/java.math.BigInteger cannot be 二.解决方法 这个就是因为你用的 ...

  5. 语法制导的三地址代码生成程序_ts-creator, 一个生成代码生成器的代码生成器

    简介 ts-creator 是一个由 TypeScript 代码生成 TypeScript 代码生成器的代码生成器,主要为TypeScript 插件作者,构建公司开发流程中需要用到代码生成的开发者等提 ...

  6. eclipse启动mysql报错_Eclipse+mysql+java Eclipse中运行没有问题,但打包后运行不了,也不报错,求高手指点...

    这几天用Eclipse+mysql+java编写了一个班级信息管理的软件.在Eclipse里运行没有问题所有功能都没有问题,但无论用Eclipse中自带的export生成可执行的jar包,还是用fat ...

  7. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  8. mysql/Java服务端对emoji(utf8mb4编码)的支持有关的问题

    mysql/Java服务端对emoji(utf8mb4编码)的支持有关的问题 mysql中保存4字节长度的UTF-8字符(例如emoji表情),就需要使用 utf8mb4 字符集. 如果要写入emoj ...

  9. MySQL Java JDBC

    文章目录 MySQL & Java & JDBC 1. JDBC本质 1.1 ".jar文件" -- 驱动包下载与配置 2. JDBC编程 2.1 构建数据源 2. ...

最新文章

  1. 翻译:微软style的并行计算
  2. 软件测试nextdata程序,Nextdata测试用例及源程序.doc
  3. 经典的”服务器最多65536个连接”误解
  4. C/C++ 输出整数带正负号
  5. OpenCV通过维纳滤镜恢复散焦图像的实例(附完整代码)
  6. RocketMQ消息发送及消费的基本原理
  7. 【Clickhouse】Clickhouse TTL 数据的存活时间
  8. Python+pillow计算椭圆图形几何中心
  9. 循环语句在c语言中的作用是什么,C语言中循环语句的使用
  10. ping 丢包 网络摄像头_FIFA21 新加入网络连接监测功能
  11. [转载] pip快速下载python包
  12. HCIE-Security Day38:理论学习:信息安全管理
  13. 计算机二级c语言编程题库100题下载,计算机二级C语言编程题库100题.doc
  14. 赚了20亿美元GandCrab勒索病毒家族的故事
  15. 汽车CAN总线入门,通俗易懂
  16. BIP与Siebel系统集成
  17. 批处理打开/关闭休眠
  18. python捕获屏幕的标准库_Python标准库urllib2的使用和获取网站状态举例
  19. 李飞飞创建ImageNet的基本逻辑
  20. Python将pdf转为png

热门文章

  1. 电商C4D设计素材背景,3D效果是最适合电商产品
  2. UI设计素材之按钮和选框,悠闲素材帮你轻松搞定设计。
  3. UI设计素材帮手, 排版技巧设计师
  4. 标记已读如何实现Java_javamail标记gmail消息为已读
  5. struct interface_golang 避坑指南(1)interface 之坑多多 | 文末深圳 Meetup
  6. LLVM Bitcode File Format - LLVM 比特流文件格式
  7. Linux网络:Virtual Routing and Forwarding (VRF)
  8. 注册了Stack Overflow
  9. Java与Cuda混合编程
  10. win10安装Unbuntu的Linux系统的虚拟机