【发布时间】:2022-09-27 22:01:01
【问题描述】:
我想在 Ktor 中使用 Exposed。最简单的问题是如何从查询选项中获取实体?
比如这些代码:
/**
* get when exist
*/
fun checkExist(phone: String): DbUser? {
return transaction(db) {
addLogger(StdOutSqlLogger)
DbUser
.select { DbUser.phoneNumber eq phone }
.firstOrNull()
.??? // how to converter ResultRow to Entity ?
}
}
我想检查用户在登录时是否存在并在存在时获取信息。但我只能获得 ResultRow 类型的 reuslt,如何将其转换为 DbUser 对象?
我在Kotlin exposed DSL Query mapping 中找到了方法,但它非常笨拙且浪费时间。我怎样才能轻松完成它?
-
基本上,您需要编写一个从表行到您的实体的映射器。您应该创建一个扩展
Table类的类和一个单独的data class,用作DAO。目前没有选项可以让exposed自动执行此映射。
标签: kotlin ktor kotlin-exposed