mORMot 名稱來自Marmot,對,土撥鼠,俗稱旱獺,是一種生活在高寒山區的動物。多數都在白天活動,喜群居,善掘土,所挖地道深達數米,內有鋪草的居室,非常舒適。通常洞穴都會有兩個以上的入口,以策安全。它們不貯存食物,而是在夏天往體內貯存脂肪以便冬季在洞內冬眠。
mORMot = Manage Object Relational Mapping Over Territory
目前Delphi生態系統中最棒的開源項目之一。本站開辟此專欄,為mORMot的玩家提供一個交流的場所。
官方網站:http://synopse.info
mORMot的下載地址是https://codeload.github.com/synopse/mORMot/zip/master,作者的幾乎每天都有更新,所以大家最好還是學會SVN或者GIT的用法,保證代碼的最新。
GIT下載命令 git clone https://github.com/synopse/mORMot.git --depth 1
以下是mORMot的簡單介紹:
1 SynCommons mORMot核心單元,包括編碼轉換,文件讀取,線程管理,內存管理,RTTI處理等功能,常用以下兩類方法:
A 實現ansi,wide,utf8,hex,variant之間的相互轉化,URL編碼解碼,base64編碼解碼。
B AnyTextFileToString,AnyTextFileToRawUTF8,AnyTextFileToSynUnicode讀取文件,目錄刪除,讀取文件時間等功能。
2 SynDb mORMot數據處理核心單元。實現記錄集與JSON對象,記錄集與RTTI對象的相互轉化。
3 SynCrtSock,實現mORMot的基本Socket操作。SynBidirSock實現基於mORMot的WebSocket處理操作,實現基於WebSocket的JSON,BIN通訊功能。
4 數據處理單元:SynOleDB處理jet,mssql數據庫,SynSQLite3、SynSQLite3Static、SynDBSQLite3處理SQLITE3數據庫,可以不帶DLL運行。SynDBRemote單元可以將連接變為遠程連接,讓客戶實現遠程HTTP數據庫調用。SynDBZeos使用ZEOS庫連接數據庫,同樣的還有SynDBDataset目錄下的UNIDAC,FIREDAC,BDE等連接方式。
5 其它單元:SynLog日志管理單元。SynLz,SynLzo實現Lz壓縮解壓縮處理.SynDBMidasVCL繼承於TClientDataSet的記錄集控件。
以上單元僅是mORMot的基本處理單元,mORMot的ORM框架實際上使用的是SQLite3目錄下的單元。