首页 > 解决方案 > kotlin 暴露的 DSL 中的 SQL Select 查询

问题描述

Kotlin Exposed DSL中以下 SQL 查询的翻译是什么?

SELECT id FROM `Sessions` WHERE session_id="155924f2-31ff-4c2c-a8fa-7fb0afba0ff8""

我假设每个 session_id 在表 Sessions 中都是唯一的。现在我正在使用以下代码。我有一种感觉.forEach是多余的。我找不到正确的语法来摆脱它。

            var sessionId = "155924f2-31ff-4c2c-a8fa-7fb0afba0ff8"
            var sessionIdInDb = 0
            Sessions.select { Sessions.session_id eq sessionId }.forEach {
                sessionIdInDb = it[Sessions.id].value
            }

标签: kotlindsl

解决方案


Exposed 实现了常见的收集方法,例如first()允许您编写如下内容:

val sessionIdInDb = Sessions
    .select { Sessions.session_id eq "155924f2-31ff-4c2c-a8fa-7fb0afba0ff8" }
    .first()[id]
    .value

推荐阅读