`
zhangdaiscott
  • 浏览: 403891 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8fb25857-16b4-3681-ab5e-e319f45c42a8
Jeecg快速开发平台
浏览量:0
文章分类
社区版块
存档分类

WEB UI框架的成熟引领新的开发模式 JEECG(J2EE Code Generation) 续四: 查询条件SQL生成器设计思路

 
阅读更多

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

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

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics