暴露selectreturn类型
Exposed select return type
我是 ktor 和 Exposed 的新手。
我想写一个 returns Category
object by id
的函数
这是我的数据class
@Serializable
data class Category(
val id: Long,
val name: String,
val count: Int
)
这是我的 main
函数
fun main() {
embeddedServer(
factory = CIO,
port = 8080,
host = "0.0.0.0",
module = {
install(ContentNegotiation) {
json()
}
configureDependencyInjection()
configureCategoryRouting()
configureImageRouting()
Database.connect(
url = "jdbc:postgresql://localhost:5432/postgres",
driver = "org.postgresql.Driver",
user = "postgres",
password = "74279744fz"
)
这是我的函数,应该 return a Category
fun getCategoryById(id: Long): Category {
val category = transaction {
Categories.select {
Categories.id eq id
}
}
return category
}
但是 returned category
不是 Category
而是 Query
class.
如何将其转换为Category
您必须将 ResultRow
中的值映射到您的 Category
数据 class。
喜欢:
Categories.select {
Categories.id eq id
}.map { row ->
Category(row[Categories.id], row[Categories.name], row[Categories.count])
}
请同时检查 wiki。
我是 ktor 和 Exposed 的新手。
我想写一个 returns Category
object by id
这是我的数据class
@Serializable
data class Category(
val id: Long,
val name: String,
val count: Int
)
这是我的 main
函数
fun main() {
embeddedServer(
factory = CIO,
port = 8080,
host = "0.0.0.0",
module = {
install(ContentNegotiation) {
json()
}
configureDependencyInjection()
configureCategoryRouting()
configureImageRouting()
Database.connect(
url = "jdbc:postgresql://localhost:5432/postgres",
driver = "org.postgresql.Driver",
user = "postgres",
password = "74279744fz"
)
这是我的函数,应该 return a Category
fun getCategoryById(id: Long): Category {
val category = transaction {
Categories.select {
Categories.id eq id
}
}
return category
}
但是 returned category
不是 Category
而是 Query
class.
如何将其转换为Category
您必须将 ResultRow
中的值映射到您的 Category
数据 class。
喜欢:
Categories.select {
Categories.id eq id
}.map { row ->
Category(row[Categories.id], row[Categories.name], row[Categories.count])
}
请同时检查 wiki。