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

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

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

查看: 12388|回复: 0

JEECG(J2EE Code Generation) 续四: 查询条件SQL生成器设计思路

[复制链接]
发表于 2013-1-6 21:06:31 | 显示全部楼层 |阅读模式

JEECG[J2EE  Code Generation]是一款基于代码生成器的敏捷开发框架.

续前文:http://blog.csdn.net/zhangdaiscott/article/details/8272255


本章主题:查询条件SQL生成器设计思路

现状分析:项目开发的查询页面都会有很多查询条件,开发追加查询条件的工作繁琐又很浪费时间。

                     这块工作量主要在:页面加查询字段和后台代码逻辑判断,追加查询条件;

目前JAVA持久层主流框架分析:

[1].Hibatente技术实现:

A.页面追加查询字段;

B.后台代码需加逻辑判断,判断字段是否为空,手工拼SQL追加查询条件;

[2].IBATIS技术实现:

         A.页面追加查询字段;

         B.后台不需写代码,但是需在XML文件中追加该字段非空判断和查询条件;


特点:常规功能的页面查询方式只能是"全匹配"和"模糊查询",对于特殊的 "包含查询"和"不匹配查询", 只能写特殊逻辑代码


查询条件SQL生成器 [实现原理]

根据页面传递到后台的参数,动态判断字段是否为空,自动拼SQL追加查询条件

特点:实现了"模糊查询" ,"包含查询" , "不匹配查询"等SQL匹配功能;

实现方法:页面仅仅追加一个查询字段,后台不需要写任何代码,查询功能自动实现;


查询条件SQL生成器 [查询规则]

要求:页面查询字段,需跟Action中Page的字段对应一致,后台不需写代码自动生成SQL,追加查询条件;

              默认生成的查询条件是全匹配;


查询匹配方式分类:

[1].全匹配查询:查询数据没有特殊格式,默认为全匹配查询

[2].模糊查询:     查询数据格式需加星号

       例如:{MD*/*MD*/*M*D*}

[3].包含查询:     查询数据格式采用逗号分隔[,]  例如: {01,03}(含义:in('01','03'))

[4].不匹配查询:查询数据格式需要加叹号前缀[!]例如:{!123}(含义:不等于123)

    特殊说明:  查询不为Null的方法=!null(大小写没关系)

                查询不为空字符串的方法=!(只有一个叹号)


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

本版积分规则

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