上班摸鱼吗?一文详解代码生成神器-Velocity

引言

“我不是在教你学坏,而是教你如何提高生产效率。” ----------- 牛顿

人类社会能够一直进步发展出现在的文明世界,最大的一个原因就是这个世界上懒人居多,懒人为了偷懒就需要提高生产效率,效率提高节省下来的时间才能创造出艺术、娱乐以及更高效率的科学技术。程序员们如何提高生产效率?创造一个自己为自己干活!

56b4d36a3b3993556bdb1f97d1e04c9.jpg

今天给大家介绍一个代码生成神器Velocity,Velocity作为一款基于Java的强大模板引擎,其拥有简洁的设计和强大的功能,新手也能很快上手。从此以后你就可以摆脱无聊且繁杂的crud代码,给自己留下诗和远方的闲暇时光。

效果展示

话不多说,以下截图是我利用Velocity写的一个代码生成的工具,支持Mysql或Pgsql两种数据库。新项目开发的时候,你只需要设计好你的表结构,在界面上填写包名、地址后缀、模块名等信息即可。剩下的事情交给Velocity,它会帮你完成从controller、service、dao的所有通用接口。

image.png

生成代码压缩包里的目录结构,前后端代码都有。

image.png

以下是适用于Mybatis框架的Velocity模板生成的代码文件。Velocity的优点之一就是它将生成代码需要的数据模型与模板解耦,所以对模板的修改可以做到非常的丝滑,数据模型做好了基本上不用做大的调整,剩下的就是DIY自己的模板文件。

image.png

也许有人会质疑说,idea中不是有很多代码生成插件吗?我认为别人写的总归没有那么灵活,我自己决定使用Velocity也是因为工作中遇到了一个开源项目需要二开,在使用别人的个性化框架期间,一个一个新建Java文件太费鼠标了,所以我才决定自己写一套模板。

Velocity

Velocity的核心理念是遵循Model-View-Controller(MVC)设计模式,它致力于将视图逻辑与业务逻辑彻底分离。它允许前端开发者使用一种专门的语法来引用预定义好的数据模型,而无需直接编写Java代码。这种设计不仅极大地简化了前端开发者的工作量,也使得后端开发者能够专注于后端逻辑的优化与实现,两者并行工作,极大地提升了开发效率。

Maven 依赖如下:

<properties>
    <velocity-tools-version>2.0</velocity-tools-version>
</properties>

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-tools</artifactId>
    <version>${velocity-tools-version}</version>
</dependency>

Velocity原理

Velocity引擎的工作流程大致如下:

  • 开发者创建包含占位符和控制结构的模板文件;

  • 这些模板通过Velocity引擎解析时,引擎会根据提供的数据模型动态替换模板中的占位符;

  • 生成所需的HTML页面、Java文件

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis-Plus代码生成器是一个非常方便的工具,可以帮助我们快速生成MyBatis相关的代码。而Velocity则是一个模板引擎,可以帮助我们更加方便地生成代码模板。 下面是使用MyBatis-Plus代码生成器与Velocity一起使用的步骤: 1. 准备好Velocity模板文件,可以参考MyBatis-Plus官方提供的模板,也可以根据自己的需求编写模板。 2. 在MyBatis-Plus代码生成器的配置文件中,添加Velocity的配置,例如: ```xml <strategyConfig> <templateConfig> <controller>templates/velocity/controller.java.vm</controller> <service>templates/velocity/service.java.vm</service> <serviceImpl>templates/velocity/serviceImpl.java.vm</serviceImpl> <mapper>templates/velocity/mapper.java.vm</mapper> <entity>templates/velocity/entity.java.vm</entity> </templateConfig> </strategyConfig> ``` 这里我们配置了使用Velocity的模板文件路径。 3. 在Velocity模板文件中,使用Velocity的语法编写模板,可以根据需要添加参数,例如: ```velocity package ${package_name}.service.impl; import ${package_name}.entity.${table_name}; import ${package_name}.mapper.${table_name}Mapper; import ${package_name}.service.I${table_name}Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * ${table_comment} 服务实现类 * </p> */ @Service public class ${table_name}ServiceImpl extends ServiceImpl<${table_name}Mapper, ${table_name}> implements I${table_name}Service { } ``` 这里我们使用了Velocity的语法来获取参数,并且根据模板生成对应的代码。 4. 最后,在MyBatis-Plus代码生成器中运行生成器,就可以生成对应的代码了。 总的来说,使用MyBatis-Plus代码生成器与Velocity一起使用,可以帮助我们更加方便地生成MyBatis相关的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT果果日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值