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(大小写没关系) 查询不为空字符串的方法=!(只有一个叹号)
|