设为首页收藏本站

JEECG官方网站-企业级JAVA快速开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 最新动态 - 开源协议 - 师徒架构班

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

商务 QQ: 3102411850、418799587 商务热线: 18611788525 客服电话: 010-84820955 官方邮箱: jeecg@sina.com

查看: 2875|回复: 0

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

[复制链接]

156

主题

55

好友

4万

积分

论坛元老

Rank: 10Rank: 10Rank: 10

热心会员 推广达人 宣传达人 突出贡献 优秀版主 荣誉管理 JEECG团队成员

发表于 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(大小写没关系)

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


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

Archiver|手机版|JEECG官方网站-企业级JAVA快速开发平台 ( 京ICP备12013567号-3 )  

GMT+8, 2017-2-24 16:29 , Processed in 1.232402 second(s), 28 queries .

JEECG Open Source

© 2001-2012 Comsenz Inc.

回顶部