基于NVelocity简单搭建动态查询报表功能
基于NVelocity搭建动态查询模块
NVelocity是基于java模板语言Velocity的一个.net扩展包。可用于动态解析字符串。支持语法有#if #foreach 和$变量等。
与此功能相近的有RazorEngine引擎。但是性能比较差强人意。两段引擎生成代码与测试时间比较如下图:

不知道为什么Razor这么慢。不管了,开始干活。
目标:
实现动态配置的报表查询功能。
实现:
1. 原型:
1) 查询条件配置。生成变量和条件。

2) 配置sql语句。

3) 查询执行结果。

2. 原理:
Sql数据保存在数据库,通过NVelocityHelper转化为正常语句。然后交给ado执行。
浙公网安备 33010602011771号