-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Java|Kotlin 快速入门
qiuwenchen edited this page Sep 24, 2024
·
3 revisions
WCDB 的最基础的调用过程大致分为三个步骤:
- 模型绑定
- 创建数据库与表
- 操作数据
在WCDB内,ORM(Object Relational Mapping)是指
- 将一个Java/Kotlin的类,映射到数据库的表和索引;
- 将Java/Kotlin类的属性,映射到数据库表的字段;
这一过程。通过ORM,可以达到直接通过Java/Kotlin对象进行数据库操作,省去拼装过程的目的。
对于已经存在的 Sample
类:
//Java
public class Sample {
public int id;
public String content;
}
//Kotlin
class Sample {
var id: Int = 0
var content: String? = null
}
可通过WCDBField
注解将 Sample
类的 id
和 content
两个属性绑定到了表中同名字段:
//Java
@WCDBTableCoding
public class Sample {
@WCDBField
public int id;
@WCDBField
public String content;
}
//Kotlin
@WCDBTableCoding
class Sample {
@WCDBField
var id: Int = 0
@WCDBField
var content: String? = null
}
这部分代码基本都是固定模版,暂时不用理解其每一句的具体含义,我们会在模型绑定一章中进行进一步介绍。
上述配置用到了注解,代码写好之后先编译一下让注解生效,再进行下面的操作。
One line of code 是 WCDB 接口设计的一个基本原则,绝大部分的便捷接口都可以通过一行代码完成。
//Java
Database database = new Database("~/Intermediate/Directories/Will/Be/Created/sample.db");
//Kotlin
val database = Database("~/Intermediate/Directories/Will/Be/Created/sample.db")
WCDB 会在创建数据库文件的同时,创建路径中所有未创建文件夹。
// 以下代码等效于 SQL:CREATE TABLE IF NOT EXISTS sampleTable(identifier INTEGER, description TEXT)
//Java
database.createTable("sampleTable", DBSample.INSTANCE);
//Kotlin
database.createTable("sampleTable", DBSample)
对于已进行模型绑定的类,同样只需一行代码完成。
这里的
DBSample
是APT/KSP为配置了@WCDBTableCoding
注解的ORM类生成的对应的DB工具类,写好ORM类之后,编译一下就可以生成。
基本的增删查改同样是 One line of code
//Java
//Prepare data
Sample sample = new Sample();
sample.id = 1;
sample.content = "sample_insert";
//Insert
database.insertObject(sample, DBSample.allFields(), "sampleTable");
//Kotlin
//Prepare data
val sample = Sample()
sample.id = 1
sample.content = "sample_insert"
//Insert
database.insertObject(sample, DBSample.allFields(), "sampleTable")
//Java
List<Sample> samples = database.getAllObjects(DBSample.allFields(), "sampleTable");
//Kotlin
val samples = database.getAllObjects(DBSample.allFields(), "sampleYTable")
//Java
//Prepare data
Sample sample = new Sample();
sample.content = "sample_update";
//Update
//等效于 SQL:UPDATE sampleTable SET content='sampleTable' where id > 0
database.updateObject(sample, DBSample.content, "sampleTable", DBSample.id.gt(0));
//Kotlin
//Prepare data
val sample = Sample()
sample.content = "sample_update"
//Update
//等效于 SQL:UPDATE sampleTable SET content='sampleTable' where id > 0
database.updateObject(sample, DBSample.content, "sampleTable", DBSample.id.gt(0))
类似
DBSample.id.gt(0)
的语法是 WCDB 的特性,它能通过 Java/Kotlin 代码来构建 SQL 表达式,我们将在语言集成查询一章中进行进一步的介绍。
//Java
database.deleteObjects("sampleTable");
//Kotlin
database.deleteObjects(" sampleTable")
本章简单介绍了 WCDB Java/Kotlin 进行操作的过程,并展示了基本的用法。 后续将对里面的逐个细节进行详细介绍。建议按照顺序阅读基础教程部分,而进阶教程则可以按照个人需求选择阅读。
- 欢迎使用 WCDB
- 基础教程
- 进阶教程
- 欢迎使用 WCDB
- 基础教程
- 进阶教程
- 欢迎使用 WCDB
- 基础教程
- 进阶教程
- 欢迎使用 WCDB
- 基础教程
- 进阶教程