[發明專利]訪問數據庫的方法和裝置有效
| 申請號: | 201510528428.8 | 申請日: | 2015-08-25 |
| 公開(公告)號: | CN105205103B | 公開(公告)日: | 2019-09-20 |
| 發明(設計)人: | 李慧巖 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 姜勁;金潔 |
| 地址: | 100080 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 訪問 數據庫 方法 裝置 | ||
本發明提供一種訪問數據庫的方法和裝置,有助于提高系統性能和開發效率,另外有助于解決接口規范性問題。本發明的訪問數據庫的方法包括:接收持久層的公共接口類的類對象和值映射表;所述類對象是將持久層抽象為一個公共接口類而得到的類對象;根據所述類對象獲取值對象,并且根據所述值映射表和所述類對象,對該值對象進行父實體的填充;將完成所述填充的值對象轉換為持久對象;將所述持久對象中的數據保存到數據庫中。
技術領域
本發明涉及計算機技術領域,特別地涉及一種訪問數據庫的方法和裝置。
背景技術
JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序。目前極少有J2EE應用會直接以JDBC的方式進行數據庫訪問。畢竟,用面向對象的程序設計語言來訪問關系數據庫,開發過程中的工作量很大。大部分時候,J2EE應用都會以ORM框架來進行數據訪問,ORM(Object Relational Mapping)框架采用元數據來描述對象一關系映射細節,元數據一般采用XML格式,并且存放在專門的對象一映射文件中。只要提供了持久化類與表的映射關系,ORM框架在運行時就能參照映射文件的信息,把對象持久化到數據庫中。當前ORM框架主要有三種:Hibernate(Nhibernate),iBATIS,EclipseLink。在所有ORM框架中,Hibernate以其靈巧、輕便的封裝贏得了眾多開發者的青睞。雖然Hibernate為開發者提供了便利的條件,但是原生的框架并不一定完全滿足現實中的開發要求,在項目的規范制定上會有限制,不利于項目的后續升級和維護。因此,如何對這些框架進行二次封裝,以滿足開發需要是一個關鍵問題,這個問題主要體現在三方面內容:一是符合項目本身的開發規范,二是要降低層次之間的耦合,三是提高系統性能和開發效率。
在目前的通常做法中,一般是以Spring IOC容器為核心,承上啟下。通過Spring提供的如下三個工具類(或接口)來支持持久層的實現:HibernateDaoSupPOrt、HibernateTemplate、以及HibernateCallback。通過Spring IOC容器,將SessionFactoryBean注入DAO組件,一旦DAO組件獲得了SessionFactory Bean的引用,就可以完成實際的數據庫訪問。
實際開發過程中,通常會發現服務層和持久層的接口基本一樣,不同點就是服務層會有一些業務邏輯的處理,事務的控制;持久層的接口則會直接調用框架的底層接口來進行數據庫訪問,這些接口基本都是一樣的處理邏輯:增加、刪除、修改、查詢。每實現一個業務,都需要調用相同的接口實現相似的功能,產生代碼重復的現象,這無形之中增加了開發人員的工作量。并且開發人員需要頻繁的對持久對象(PO)和值對象(VO)進行轉化,不但浪費工作量,而且非常耗內存,影響系統性能。
在解耦方面,雖然通過Spring IOC實現了Bean的注入,看起來實現了低耦合,但實際上并沒有,因為持久層暴露的接口很多,基本每個業務都會有一系列接口,如果真的需要對持久層調整,還是需要修改大量的代碼,也就是說,仍存在耦合性高的問題。
此處,目前的通常做法還存在代碼規范性不易統一的問題。具體而言,Hibernate提供的HQL語言雖然解決了跨數據庫的問題,但是Hibernate框架本身對HQL和SQL都支持,如果不從框架上進行規范,很難實現接口一致性,對數據庫的升級替換也埋下隱患。
發明內容
有鑒于此,本發明提供一種訪問數據庫的方法和裝置,有助于提高系統性能和開發效率,另外有助于解決接口規范性問題。
為實現上述目的,根據本發明的一個方面,提供了一種訪問數據庫的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510528428.8/2.html,轉載請聲明來源鉆瓜專利網。





