代码生成器是指通过机器来生成各种类型的代码,其应用十分广泛,并且能够极大的提高开发效率。本文将介绍如何利用Velocity模板技术生成一个Java实体类。

问题

Velocity是 JavaEE企业级MVC开发中一种常见的模板技术,是实现MVC中视图的一种重要技术。既然能够生成HTML文件,那么是否也可以生成Java代码呢?带着这样的问题,开启今天的代码生成之旅。
为了便于快速入门代码生成器,本文将选取生成Java开发领域中最简单、最常用的实体类。

方法

利用Velocity技术生成Java实体类的方法是:
(1) 准备Java实体类的vm模板文件,并确定需要替换的变量信息;
(2) 创建VelocityEngine对象ve,通过Properties对象指定模板文件的位置;
(3) 创建Template模板对象template;
(4) 创建VelocityContext数据对象context;
(5) 创建FileWriter文件对象,用于写入文件,此处需要注意,文件操作结束后记得关闭,否则会导致文件创建不成功;
(6) 调用template.merge()方法合并数据对象和模板文件;

实验

有了上述的方法后,下面介绍具体实现思路。
(1) 工程项目结构如图所示:

【从0到1打造代码生成器】生成Java实体类相关推荐

  1. mysql语句生成在线_在线数据库表(sql语句)生成java实体类工具

    相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...

  2. 小d课堂mysql_小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类...

    笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Window ...

  3. 根据数据库表动态生成java实体类

    前言,本次记录重点在读取数据库表结构,及解析转换成java实体类需要字段. 主要包含,表 列名.类型.注释的读取解析 至于代码生成,可以基于已有的代码生成模板 整合进去即可 pom: <!-- ...

  4. 超详细 图解 : IntelliJ IDEA 逆向生成 JAVA 实体类

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.配置数据库,,这里连接的是mysql. 2.填写 连接数据库的信息,填写完成后可以点击Test ...

  5. JAVA读取Excel表格,建数据库建表,并生成java实体实例

    转自:https://blog.csdn.net/wuyongde_0922/article/details/43233413 JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇 ...

  6. 使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件

    根据JSON文件自动生成Java POJO类(Java Bean)源文件 本文介绍使用程序jsonschema2pojo来自动生成Java的POJO类源文件,本文主要使用maven,其他构建工具请参考 ...

  7. java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...

    今天花了3个多小时搞定了这个事情,写个Blog记录一下,先看一下最终生成的实体类吧. packagecom.mybatis.pojo;importlombok.AllArgsConstructor;i ...

  8. mybatis mapper.xml数据库映射生成java实体,增删改查sql语句

    1.问题描述:使用mybatis生成mapper.xml文件的时候经常遇到数据库表字段很多,写mapper.xml文件时转化成java实体很麻烦,写增删改查的sql时也要做 很多重复的工作.程序员就想 ...

  9. html单页面js完成表数据库自动生成带注释的java实体类和简单的增删改查sql

    支持Mysql和Oracle,mybatis和ibatis可选.功能主要还是字符串的拼凑完成的,把用把表信息复制过来或者增加后台,就可以生成简单的增删改查了 临时体验点这里 我也不知道地址什么时候失效 ...

最新文章

  1. tensorflow GPU 内存不够
  2. Py中re.sub学习【转载】
  3. poj3261(求至少出现k次的可重叠的子串的长度)
  4. makefile 学习(一)
  5. 【机器学习】特征工程
  6. [转].net仿传奇机器人配置文件
  7. FPGA SPI总线协议简介
  8. java 字符串每隔两位插入一个字符
  9. java中输出a个b_下面代码输出什么 ( ) var a=0,b=0; for(;a10,b7;a++,b++){ g=a+b; } console.log(g);_学小易找答案...
  10. Harris 角点检测子
  11. 【Java】编程思想汇总ing
  12. Win10系统优化工具
  13. 传奇3单机显示服务器进不去,传奇3私服单机 数据库连接不上 dafe
  14. 金蝶服务器显示已离线,金蝶K3提示云服务器已离线
  15. 指针(一)(基本概念)
  16. day 9.1 逻辑回归-二元回归与多元回归
  17. 什么时候,董明珠能成功卖给记者一部格力手机?
  18. Proxifier代理指定程序到fiddler
  19. 京东文件存储服务器,紫晶存储智能家庭云服务器登录中国移动和彩云 首个京东官方旗舰店助力消费者业务...
  20. Lucene 7.5.0 索引文件之tvxtvd

热门文章

  1. 信息安全体系建设☞网络间的安全通信
  2. 60万英语老师,在辛勤工作着,培养着一批又一批聋哑学生······
  3. python从入门到走火入魔_Python 函数式编程:从入门到走火入魔
  4. 学生赚源码 php,[精仿]全网最新高仿米赚APP、学生赚APP,带PHP后台+APP源码+全开源...
  5. shell脚本中linux命令特殊字符,shell中的特殊字符
  6. 全球名校课程作业分享系列(10)--斯坦福CS231n之Network visualization
  7. 药店的药品销售统计系统
  8. 高职教师的出路--1
  9. 内存管理单元MMU - ARM内核扩展(一)
  10. 论文学习--Resource allocation for multi-user downlink MISO OFDMA-URLLC systems