JEECG - 基于代码生成器的J2EE智能开发框架 续四: 查询条件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(大小寫沒關系)
????????????????查詢不為空字符串的方法=!(只有一個嘆號)
總結
以上是生活随笔為你收集整理的JEECG - 基于代码生成器的J2EE智能开发框架 续四: 查询条件SQL生成器设计思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据源管理 | OLAP查询引擎,Cli
- 下一篇: NYOJ_5739最大岛屿(河南省第八届