许久没有闲下来了,今天不想再写代码了,说说查询条件组装的,虽然基本上是自己写的,但是能写出来不一定可以说出来
,算是为过两天的讲课做做准备吧.
这个是基于CriteriaQuery 的,而CriteriaQuery又是基于DetachedCriteria这个大家自己看了
写这个的时候,想了挺久,就是想找可以可以扩展的查询拼装,后来定义了这个接口
为每种类型做不同的实现,这个可以为以后类型扩充做准备
判断类型就是依据字段的类型,然后选择类型进行调用,现在实现了
基本上都是基本类型了,其中最复杂是String,其次是Date,但是Date也没有实现这个接口,是因为Date,有个特殊的东西,
ps:看来接口定义的还是欠水平
接下来看看调用的代码
1.获取区间值代码,就是加了begin和end的数据源
前台,选择查询条件类型group的时候就会添加了
2.根据类型选择IHqlParse的实现类
除了 String类型有些复杂外,其他都挺简单的了
3.时间类型
时间类型有两个级别类型yyyy-MM-dd和yyyy-MM-dd hh:mm:ss
如果还有特殊格式可以使用QueryTimeFormat 在get方法上面做注解表明格式
4.对象属性处理(判断如果下一层还有数据的话,就创建一个别名,继续遍历去了)
到这里基本上就拼装完了,不知道各位看客了解的如何了
其实调用就那么常见的一句话HqlGenerateUtil.installHql(cq,entity,parameterMap)
我们还是帮大家组合了很多where **=**的
By JueYue
Blog:http://blog.csdn.net/qjueyue
Git:http://git.oschina.net/jueyue