VELOCITY 模板的应用

最近由于项目功能实现的需要,采用了Velocity模板引擎来实现动态生成创建数据库表的SQ语句,之后采用mybatis执行生成的SQL。(Velocity下文简称vy)

Velocity 官网:http://velocity.apache.org/engine/devel/user-guide.html#break,官方文档很重要!

在我的项目中Velocity的使用流程如下:

VELOCITY 模板的应用

直接使用vy单例模式设置了property后,利用vy对象获取模板文件,以及产生vy上下文,StringWriter对象。

在加载模板文件的时候遇到了加载不到模板文件的问题,最开始直接把模板文件放在了和该工具类同一目录下,并通过如下方式来获取,获取不到。后将模板文件放在resource目录下直接getTemplate(“create_tab_sql.vm”) 获取可以得到。

String path = this.getClass().getClassLoader().getResource("/").getPath();
Velocity.getTemplate(path+MYSQL_TEMPLATE);

其余velocity相关知识详见 官方文档,不在此赘述了。