中文版本请参看这里
WCDB adalah kerangka basis data seluler yang efisien , lengkap , dan mudah digunakan yang digunakan dalam aplikasi WeChat. Ini didasarkan pada Sqlite dan Sqlcipher, dan mendukung lima bahasa: C ++, Java, Kotlin, Swift dan Objective-C.
Dengan ORM dan WINQ, Anda dapat memasukkan, memperbarui, meminta, dan menghapus objek dari database dalam satu kode baris:
// 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 ];Melalui lapisan kerangka kerja dan optimasi sumber SQLCipher, WCDB memiliki kinerja yang lebih efisien.
WCDB merangkum masalah umum dalam praktik untuk memberikan pengalaman pengembangan yang lebih lengkap untuk pengembangan basis data:
WCDB memiliki antarmuka dalam lima bahasa: C ++, Java, Kotlin, Swift, dan OBJC. Antarmuka dalam bahasa yang berbeda berbagi logika yang mendasari yang sama. Struktur kode WCDB ditunjukkan pada gambar di bawah ini:
Di bawah arsitektur tersebut, WCDB dalam berbagai bahasa dapat memiliki struktur antarmuka yang sama dan kemampuan antarmuka. Dalam satu proyek, Anda dapat menulis kode basis data dalam berbagai bahasa dengan satu WCDB. Logika basis data dalam berbagai bahasa tidak akan bertentangan. Beberapa antarmuka global seperti pemantauan kesalahan dapat bekerja pada logika basis data dalam berbagai bahasa secara bersamaan.
Mengikuti wikies berisi instruksi terperinci tentang membangun dan pemasangan WCDB.
Tutorial dari berbagai bahasa dapat ditemukan di bawah ini:
Jika Anda tertarik untuk berkontribusi, lihat [Contributing.md], juga bergabunglah dengan rencana OpenSource Tencent kami.
开发者: 深圳市腾讯计算机系统有限公司
WCDB 个人信息保护规则