中文版本请参看这里
WCDB est un cadre de base de données mobile efficace , complet et facile à utiliser utilisé dans l'application WeChat. Il est basé sur SQLite et Sqlvipher, et prend en charge cinq langues: C ++, Java, Kotlin, Swift et Objective-C.
Avec ORM et WINQ, vous pouvez insérer, mettre à jour, interroger et supprimer des objets de la base de données dans un code de ligne:
// 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 ];Grâce à la couche de framework et à l'optimisation de la source SQLCipher, WCDB a des performances plus efficaces.
WCDB résume les problèmes communs dans la pratique pour offrir une expérience de développement plus complète pour le développement de bases de données:
WCDB a des interfaces en cinq langues: C ++, Java, Kotlin, Swift et OBJC. Les interfaces dans différentes langues partagent la même logique sous-jacente. La structure du code de WCDB est indiquée dans la figure ci-dessous:
Dans une telle architecture, WCDB dans différentes langues peut avoir la même structure d'interface et les mêmes capacités d'interface. Dans un projet, vous pouvez écrire du code de base de données dans différentes langues avec un WCDB. La logique de la base de données dans différentes langues ne sera pas en conflit. Certaines interfaces globales telles que la surveillance des erreurs peuvent fonctionner sur la logique de la base de données dans différentes langues en même temps.
Les véhicules suivants contiennent les instructions détaillées sur la construction et l'installation de WCDB.
Des tutoriels de différentes langues peuvent être trouvés ci-dessous:
Si vous êtes intéressé à contribuer, consultez le [contributing.md], rejoignez également notre plan d'openSource Tencent.
开发者: 深圳市腾讯计算机系统有限公司
Wcdb 个人信息保护规则