You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SQLDelightRelationships

SQLDelight Relationships 是一个 SQLDelight 库提供的关系数据库工具,其主要用于在 SQLDelight 中定义表之间的关系。

例如,我们可以使用 SQLDelight Relationships 来定义一个简单的 One-to-Many 的关系。先创建两个表:

CREATE TABLE IF NOT EXISTS artists (
  id INTEGER PRIMARY KEY NOT NULL,
  name TEXT NOT NULL,
  age INTEGER NOT NULL
);

CREATE TABLE IF NOT EXISTS songs (
  id INTEGER PRIMARY KEY NOT NULL,
  title TEXT NOT NULL,
  artist_id INTEGER NOT NULL REFERENCES artists(id)
);

然后,我们可以定义一个 ArtistWithSongs 数据类,用来存储一个艺术家及其所有歌曲的信息。

data class ArtistWithSongs(
    val artist: Artist,
    val songs: List<Song>
)

接下来,我们可以使用 SQLDelight Relationships 定义一个 artists_with_songs 查询,该查询返回所有艺术家及其所有歌曲的信息。

val artists_with_songs = ArtistWithSongs.Companion.Factory(
    { artist, songs ->
        ArtistWithSongs(artist, songs)
    },
    Artist.Companion.Factory{ id, name, age ->
        Artist(id, name, age)
    },
    Song.Companion.Factory{ id, title, artist_id ->
        Song(id, title, artist_id)
    }
)

SELECT *
FROM artists
JOIN songs ON artists.id = songs.artist_id

现在,我们可以使用 SQLDelight Relationships 从数据库中检索 ArtistWithSongs 数据,并使用相应的界面显示它们。

val allArtistsWithSongs = database.artists_with_songs.selectAll().executeAsList()

此时,allArtistsWithSongs 就包含了所有艺术家及其所有歌曲的信息。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

10 个问题带你了解 Compose Multiplatform 1.0 |社区征文

[sqldelight](https://github.com/cashapp/sqldelight)|SQLDelight - Generates typesafe Kotlin APIs from SQL|||[Kodein-DB](https://github.com/Kodein-Framework/Kodein-DB)|Multiplatform NoSQL database |||[multiplatform-settings](https://github.com/russhwolf/multiplatform-settings)|A Kotlin Multiplatform library for saving simple key-value data||Utils & Others|[Reaktive](https://github.com/badoo/Rea...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

SQLDelightRelationships -优选内容

10 个问题带你了解 Compose Multiplatform 1.0 |社区征文
[sqldelight](https://github.com/cashapp/sqldelight)|SQLDelight - Generates typesafe Kotlin APIs from SQL|||[Kodein-DB](https://github.com/Kodein-Framework/Kodein-DB)|Multiplatform NoSQL database |||[multiplatform-settings](https://github.com/russhwolf/multiplatform-settings)|A Kotlin Multiplatform library for saving simple key-value data||Utils & Others|[Reaktive](https://github.com/badoo/Rea...

SQLDelightRelationships -相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询