中文版本请参看这里
WCDB-это эффективная , простая в использовании мобильную базу данных, используемая в приложении WeChat. Он основан на SQLite и SQLCIPHER, и поддерживает пять языков: C ++, Java, Kotlin, Swift и Objective-C.
С ORM и Winq вы можете вставить, обновлять, запросить и удалять объекты из базы данных в одну строку кода:
// C++
database.insertObjects<Sample>(Sample( 1 , " text " ), myTable);
database.updateRow( " text2 " , WCDB_FIELD(Sample::content), myTable, WCDB_FIELD(Sample::id) == 1 );
auto objects = database.getAllObjects<Sample>(myTable, WCDB_FIELD(Sample::id) > 0 );
database.deleteObjects(myTable, WCDB_FIELD(Sample::id) == 1 ); // Java
database . insertObject ( new Sample ( 1 , "text" ), DBSample . allFields (), myTable );
database . updateValue ( "text2" , DBSample . content , myTable , DBSample . id . eq ( 1 ));
List < Sample > objects = database . getAllObjects ( DBSample . allFields (), myTable , DBSample . id . gt ( 0 ));
database . deleteObjects ( myTable , DBSample . id . eq ( 1 )); // Kotlin
database.insertObject< Sample >( Sample ( 1 , " text " ), DBSample .allFields(), myTable)
database.updateValue( " text2 " , DBSample .content, myTable, DBSample .id.eq( 1 ))
val objects = database.getAllObjects< Sample >( DBSample .allFields(), myTable, DBSample .id.gt( 0 ))
database.deleteObjects(myTable, DBSample .id.eq( 1 ))// Swift
try database . insert ( Sample ( id : 1 , content : " text " ) , intoTable : myTable )
try database . update ( table : myTable ,
on : Sample . Properties . content ,
with : " text2 "
where : Sample . Properties . id == 1 )
let objects : [ Sample ] = try database . getObjects ( fromTable : myTable ,
where : Sample . Properties . id > 0 )
try database . delete ( fromTable : myTable where : Sample . Properties . id == 1 ) // Objc
[database insertObject: sample intoTable: myTable];
[database updateTable: myTable
setProperty: Sample.content
toValue: @" text2 "
where: Sample. id == 1 ];
NSArray * objects = [database getObjectsOfClass: Sample.class
fromTable: myTable
where: Sample. id > 0 ];
[database deleteFromTable: myTable where: Sample. id == 1 ];Через фреймворк -слой и оптимизацию источника SQLCIPHER, WCDB обладает более эффективной производительностью.
WCDB суммирует общие проблемы на практике, чтобы обеспечить более полный опыт разработки для разработки баз данных:
WCDB имеет интерфейсы на пяти языках: C ++, Java, Kotlin, Swift и Objc. Интерфейсы на разных языках имеют одинаковую базовую логику. Структура кода WCDB показана на рисунке ниже:
В рамках такой архитектуры WCDB на разных языках могут иметь одинаковую структуру интерфейса и возможности интерфейса. В одном проекте вы можете написать код базы данных на разных языках с одним WCDB. Логика базы данных на разных языках не будет конфликтует. Некоторые глобальные интерфейсы, такие как мониторинг ошибок, могут работать на логике базы данных на разных языках одновременно.
Следующие вики содержат подробные инструкции по строительству и установке WCDB.
Учебники разных языков можно найти ниже:
Если вы заинтересованы в содействии, ознакомьтесь с [Anforming.md], также присоединяйтесь к нашему плану OpenSource Tencent.
开发者: 深圳市腾讯计算机系统有限公司
WCDB 个人信息保护规则