关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 9906|回复: 0

Jeecg 查询条件拼装-代码解读

[复制链接]
发表于 2014-5-21 22:50:49 | 显示全部楼层 |阅读模式
许久没有闲下来了,今天不想再写代码了,说说查询条件组装的,虽然基本上是自己写的,但是能写出来不一定可以说出来
,算是为过两天的讲课做做准备吧.
    这个是基于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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表