[發明專利]一種對象查詢方法和裝置有效
| 申請號: | 200910087324.2 | 申請日: | 2009-06-23 |
| 公開(公告)號: | CN101582079A | 公開(公告)日: | 2009-11-18 |
| 發明(設計)人: | 黃海峰 | 申請(專利權)人: | 用友軟件股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市隆安律師事務所 | 代理人: | 權鮮枝 |
| 地址: | 100094北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 對象 查詢 方法 裝置 | ||
技術領域
本發明涉及數據庫技術,特別涉及一種對象查詢方法和裝置。
背景技術
在目前的軟件開發系統中,結構化查詢語言(SQL:Structured?QueryLanguage)由于具有結構簡潔等諸多優點而被用戶廣泛應用。SQL是一種數據庫查詢和程序設計語言,按照美國國家標準協會的規定,SQL被作為關系型數據庫管理系統的標準語言。其中,在邏輯代碼中編譯SQL語句能夠實現數據庫的查詢操作。
具體地,現有的利用SQL語句對數據庫執行查詢操作包括:根據業務需求打開對應的數據庫;與數據庫建立連接;之后,用戶在邏輯代碼中根據當前需求編寫SQL查詢語句,通過這些SQL查詢語句實現數據庫的查詢操作。
然而,用戶編譯SQL查詢語句是一個非常復雜的過程,具體體現在:在編寫SQL查詢語句時,需要遵循與數據庫表信息有關的SQI編譯規范,其中,數據庫表信息具體為數據庫表名、該數據庫表中的字段以及該字段表示的意義等,如此,就要求用戶在編譯SQL語句時,需要對數據庫了如指掌,如此加大了用戶的編程工作量,也大大提高了編程門檻;并且,由于SQL查詢語句是面向過程的,而該語句還需要遵循與數據庫表信息有關的SQI編譯規范,這會使編寫出來的代碼很長,大大增加了維護成本。
發明內容
本發明提出了一種對象查詢方法和裝置,無需用戶編譯復雜的查詢語句。
為達到上述目的,本發明的技術方案包括:
一種對象查詢方法,該方法包括:
步驟A,根據業務需求建立元數據模型;生成所述元數據模型對應的對象代碼;
步驟B,根據所述對象代碼和預定義的持久化引擎查詢接口執行查詢操作。
可選的,所述元數據模型中包含一個以上的數據傳輸對象DTO;
所述步驟A中根據業務需求建立元數據模型包括:
步驟A1,若當前存在與所述業務需求對應的數據庫,則根據所述業務需求從數據庫中拖拽出一個以上的DTO,根據已設置的DTO關聯關系信息建立包含拖拽出的DTO的元數據模型;
步驟A2,若當前不存在與所述業務需求對應的數據庫,根據所述業務需求配置DTO;根據配置的DTO中的屬性字段建立包含該配置的DTO的元數據模型。
較佳的,在步驟A2完成建立元數據模型后,進一步包括:根據該元數據模型生成對應的數據庫。
其中,所述步驟B包括:
步驟B1,將所述對象代碼編譯成業務對象庫;其中,該業務對象庫包含一個以上的業務對象;
步驟B2,在業務邏輯代碼中根據當前需求使用對應的業務對象編寫對象查詢語言OQL語句,將該OQL語句作為預定義的持久化引擎查詢接口的參數實現查詢操作。
其中,所述步驟B2中將該OQL語句作為預定義的持久化引擎查詢接口的參數實現查詢操作包括:
步驟B21,預定義的持久化引擎在所述持久化引擎查詢接口上接收到查詢觸發后,判斷當前是否緩存了需要查詢的業務數據,如果是,執行步驟B22;否則,執行步驟B23;
步驟B22,通過深度克隆的方式提供該業務數據;
步驟B23,從已緩存的元數據中查找要使用的業務對象對應的元數據,如果查找到,根據該查找到的元數據去數據庫中獲取并提供相應的業務數據。
一種對象查詢裝置,該裝置包括:數據設計模塊和持久化引擎模塊;其中,
所述數據設計模塊用于根據業務需求建立元數據模型;以及生成所述元數據模型對應的對象代碼;
所述持久化引擎模塊用于根據所述對象代碼和預定義的持久化引擎查詢接口執行查詢操作。
可選的,所述元數據模型中包含一個以上的數據傳輸對象DTO;
所述數據設計模塊包括:
判斷單元,用于判斷當前是否存在與所述業務需求對應的數據庫;
第一模型生成單元,用于當所述判斷單元判斷出當前存在與所述業務需求對應的數據庫時,則根據所述業務需求從數據庫中拖拽出一個以上的DTO,根據已設置的DTO關聯關系信息建立包含拖拽出的DTO的元數據模型;
第二模型生成單元,用于當所述判斷單元判斷出當前不存在與所述業務需求對應的數據庫時,根據所述業務需求配置DTO;根據配置的DTO中的屬性字段建立包含該配置的DTO的元數據模型。
較佳的,所述第二模型生成單元完成建立元數據模型后,進一步根據該元數據模型生成數據庫。
其中,所述持久化引擎模塊包括:
編譯單元,用于將所述對象代碼編譯成業務對象庫;其中,該業務對象庫包含一個以上的業務對象;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于用友軟件股份有限公司,未經用友軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910087324.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種便盆潔具沖洗噴射閘閥
- 下一篇:布袋除塵器卸灰閥





