關(guān)于WCDB
1)微信2017年6月9日對外發(fā)布的移動數(shù)據(jù)庫存儲開源組件,支持iOS、macOS 和 Android。
2)WCDB支持iOS 7、macOS 10.9以上
3)使用Xcode 8.0以上版本進(jìn)行編譯
4)使用Objective-C++,引用到的文件擴(kuò)展名修改成.mm
ORM CURD
1)類綁定
2)創(chuàng)建
支持增加字段,但不支持刪除、重命名字段,重命名須重新綁定字段。
支持主鍵自增
3)更新
1)支持事務(wù)
2)不支持多重語句,會自動嵌入事務(wù),以提高性能。
3)日期型自動格式化成數(shù)字型存儲
4)讀取
1)查詢時可獲取數(shù)據(jù)庫操作的耗時、錯誤信息
2)支持重定向
3)支持多表查詢
4)鏈?zhǔn)浇涌诓恢С侄嗑€程調(diào)用
5)刪除
WINQ (WENXINLanguage Integrated Query)(集成查詢)
1)不可能覆蓋所有SQL的用法,提供了執(zhí)行為封裝的SQL的能力
2)支持常用的聚合函數(shù)
3)支持全局監(jiān)控與錯誤處理
多線程高并發(fā)
WCDB 支持多線程讀與讀、讀與寫并發(fā)執(zhí)行,寫與寫串行執(zhí)行,內(nèi)置連接池,任意創(chuàng)建不同的基礎(chǔ)類對象,WCDB會自動管理它們的共享數(shù)據(jù)和線程并發(fā)。
加密
WCDB提供基于SQLCipher的數(shù)據(jù)庫加密
反注入
不要在SQL內(nèi)直接拼接數(shù)據(jù),而是用?的綁定參數(shù)代替。這種方式可以減少SQL的解析時間,同時防止SQL注入。
損壞修復(fù)
WCDB 內(nèi)建了 Repair Kit 用于修復(fù)損壞的數(shù)據(jù)庫
FMDB遷移WCDB
微信建議WCDB與FMDB不要共存,否則有可能造成數(shù)據(jù)庫損壞, 目前WCDB暫未提供直接執(zhí)行SQL串的語句,對原項(xiàng)目中SQL語句改造需創(chuàng)建Model或直接調(diào)用C++對象拼接SQL,后續(xù)繼續(xù)與微信團(tuán)隊(duì)溝通遷移方案引入現(xiàn)有開發(fā)項(xiàng)目中。
參考資料