一种基于动态模板语言渲染的方法与流程

文档序号:11864720阅读:659来源:国知局

本发明属于计算机技术研究领域,创造的一种基于动态模板语言渲染的方法。



背景技术:

随着社会的发展,社会对信息化的要求越来越重视,软件开发迭代的速度也因此变得越来越快,这就要求软件开发公司投入更多的人力物力来适应高速发展的节奏。根据传统的研发方法,开发人员花费大量的时间用于编码,并且很大一部分是一些重复代码的编写。本方法使用多种模板引擎基于配置的方式动态生成SQL语法,并将大量重复使用的逻辑封装成可调用的方法,大大加快软件开发者的编码速度,从而提高开发人员的工作效率,这也使得软件开发的周期能显著缩短。同时开发人员可以有更多的时间将工作重心放在更加需要重视的软件设计上,有助于软件质量的提升。



技术实现要素:

本发明的目的是针对项目需要书写大量静态的SQL语法,影响项目开发进度,衍生出的一种基于动态模板语言渲染的方法。

本发明解决其技术问题所采用的技术方案包括如下具体步骤:

步骤(1):定义常用方法集合的模板,使用Velocity引擎的以vm格式保存,使用Freemarker引擎以ftl格式保存;

所述的常用方法包括:in参数的拼接方法、批量插入语法的生成方法等。

所述的常用方法集合的模板的定义:将使用率频繁的语法结合模板语言抽取出可供调用的方法;

步骤(2):定义XML结构定义文件xsd,该文件主要描述XML文档的结构,用来检验XML文档的合法性。

步骤(3):定义SQL语法的XML配置文件,具体的:根据步骤2的结构定义文件,在XML中配置常用的SQL语法,可引用步骤1中定义的模板中的一个或多个常用方法;

步骤(4):加载XML配置文件,系统代码根据XML配置文件中动态解析出SQL语法,然后根据SQL语法,同时配合jdbcTemplate对数据库进行操作。

本发明有益效果如下:

本发明中通过将重复书写的SQL逻辑配置成XML文件,并且提供了常用的模板方法,让开发人员快速编码,提高开发效率,另一方便也有助于代码的统一管理,提升软件质量。

本发明主要目的是针对项目需要书写大量静态的SQL语法,影响项目开发进度,衍生出的一种基于动态模板语言渲染生成SQL语法的方法。可使用多种模板引擎(Velocity,Freemarker等),基于[统一]配置[可运行时更改生效]方式,运行时渲染SQL(NOT_ONLY_SQL),无框架依赖,可配合jdbc,jdbcTemplate等使用。

附图说明

图1为本发明对XML配置文件加载时的流程图。

具体实施方式

下面对本发明作进一步的说明。

一种基于动态模板语言渲染的方法,包括如下具体步骤:

步骤(1):定义常用方法集合的模板,使用Velocity引擎的以vm格式保存,使用Freemarker引擎以ftl格式保存;

所述的常用方法包括:in参数的拼接方法、批量插入语法的生成方法等。

所述的常用方法集合的模板的定义具体如下:

将使用率频繁的语法结合模板语言抽取出可供调用的方法;

//上述代码是使用Velocity引擎定义的模板方法,主要定义了三个方法。bracket方法定义的是将数据集group通过调用around方法以括号的形式呈现。quto方法定义的是将数据集group通过调用around方法以引号的形式呈现。around方法是将传入的group数据集用pre前缀,aft后缀,join分隔符进行拼接。

//上述代码是使用Freemarker引擎定义的模板方法,主要定义了两个方法。bracket方法定义的是将数据集collection通过调用around方法以括号的形式呈现。around方法是将传入的collection数据集用left前缀,right后缀,join分隔符进行拼接。

上述两个文件分别是基于Velocity和Freemarker定义的常用模板方法,主要作用就是定义一些SQL语法的拼接方法,这里只提供了一部分,开发人员在开发过程中可以总结出更多的模板方法。

步骤(2):定义XML结构定义文件,该文件用来检验XML文件结构的合法性,若不符合xsd文件的定义,改XML将无法进行正确的解析。xsd文件内容示例如下:

步骤(3):定义SQL语法的XML配置文件,具体的:根据xsd文件定义的XML格式,配置各个元素的内容。其中cmd-collection节点的engine元素配置的是解析的引擎类型,cmd节点的id元素配置的是供系统调用的方法名,pre-render节点配置的是具体的SQL语法,语法的部分逻辑可引用步骤1中定义的模板中的一个或多个常用方法;

XML文件实例如下:

以往我们将SQL跟JAVA代码定义在一个文件中,并且大家各自为战,一些常用的语法都会不厌其烦的重复写,这样不但浪费时间而且当出现问题的时候查找也比较繁琐。而通过XML配置文件,把不同业务相同的逻辑定义好,开发人员可以根据需要直接调用相应的方法即可。

步骤(4):加载XML配置文件,系统代码根据XML配置文件中动态解析出SQL语法,然后根据SQL语法,同时配合jdbcTemplate对数据库进行操作。

如图1所示,对XML配置文件进行加载的时候,所涉及的类的说明如下:

ModelBuilder类主要用来解析SQL的XML配置文件,将配置文件中的cmd节点的内容经过解析后保存在CommandCol类类的属性commands中,经过渲染器接口Renderer渲染(主要是不同的引擎对模板方法的解析)后供组织器Organizer调用。

使用时我们在每个Dao实现类中定义一个Organizer对象,指定解析的XML文件路径。Organizer类中定义XML文件cmd节点id为名称的方法,调用该方法获取到SQL语法,然后结合jdbcTemplate使用,达到对数据库的增删改查的目的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1