您的位置:首页 > 数据库

JEECG - 基于代码生成器的J2EE智能开发框架 续四: 查询条件SQL生成器设计思路

2012-12-17 09:40 525 查看


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

续前文:/article/1661505.html

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

现状分析:项目开发的查询页面都会有很多查询条件,开发追加查询条件的工作繁琐又很浪费时间。
这块工作量主要在:页面加查询字段和后台代码逻辑判断,追加查询条件;
目前J***A持久层主流框架分析:
[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(大小写没关系)
查询不为空字符串的方法=!(只有一个叹号)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐