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目录下的单元。