C++的ORM工具比较
生活随笔
收集整理的這篇文章主要介紹了
C++的ORM工具比较
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
用過Java的都知道SSH框架,特別對(duì)于數(shù)據(jù)庫(kù)開發(fā),Java領(lǐng)域有無(wú)數(shù)的ORM框架,供數(shù)據(jù)持久層調(diào)用,如Hibernate,iBatis(現(xiàn)在改名叫MyBatis),TopLink,JDO,JPA……非常方便實(shí)用。 用過C#的同學(xué)們也都知道通過CodeSmith軟件,生成微軟的PetShop分層模式,達(dá)到數(shù)據(jù)持久層的代碼,也非常方便。 那么我們用C++的怎么辦,我們也是面向?qū)ο缶幊?#xff0c;在工作中也有數(shù)據(jù)庫(kù)需要管理。我們需要完全手工去寫那些重復(fù)性的代碼嗎?特別我現(xiàn)在采用的是Qt這種非常標(biāo)準(zhǔn)的C++語(yǔ)言。很希望能快速的開發(fā)軟件,把重心放在軟件的架構(gòu)、控制系統(tǒng)、通信系統(tǒng)、文件傳輸系統(tǒng)、以及圖像處理上。不想在數(shù)據(jù)庫(kù)上有過多的累贅。那么我們也需要一個(gè)輕量級(jí)的ORM。 目前C++中現(xiàn)存的ORM主流庫(kù)主要為以下幾個(gè):QxQrm、Wt::Dbo依賴于特定的框架,而LiteSQL和ODB不需要特定框架支持,所以主要考慮這兩個(gè)工具。 Boost支持 LiteSQL:不支持 ODB:支持 需求分析:本系統(tǒng)可能會(huì)用到boost庫(kù) 技術(shù)支持 LiteSQL:技術(shù)支持一般,跟進(jìn)開發(fā)很慢 ODB:技術(shù)支持很好,更新快,用戶較多 具體特點(diǎn)分析 LiteSQL: 1.所有支持的庫(kù)都寫到一個(gè)動(dòng)態(tài)鏈接庫(kù) 2.生成數(shù)據(jù)庫(kù)嵌入到C++中 3.使用XML文件 ODB: 1.自動(dòng)生成數(shù)據(jù)庫(kù)支持的代碼 2.根據(jù)類的定義,編譯生成數(shù)據(jù)庫(kù)表單 3.支持面向?qū)ο蟮某志没P秃蛿?shù)據(jù)庫(kù)API(提供簡(jiǎn)單易用的數(shù)據(jù)庫(kù)操作方法) 4.使用c++頭文件 總結(jié) Litesql是一個(gè)高耦合性的工具,自動(dòng)化程度高,但是不利于系統(tǒng)調(diào)試,還有不支持boost庫(kù)。 ODB 技術(shù)支持好,支持boost庫(kù),易于開發(fā)調(diào)試。 綜上所述,ODB最適合用來(lái)開發(fā)。我們的Lynn系統(tǒng)將使用ODB作為與數(shù)據(jù)打交道的類庫(kù),下一篇即將更新ODB具體安裝使用實(shí)例。
轉(zhuǎn)載于:https://www.cnblogs.com/lvdongjie/p/6163368.html
總結(jié)
以上是生活随笔為你收集整理的C++的ORM工具比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。