Nit*_*ari 4 kotlin kotlin-exposed ktor kotlin-coroutines
我是 Kotlin 新手,最近开始在 Ktor 服务器上工作。要执行数据库操作,服务器需要与MySql服务器进行通信。我开始使用 JetBrains Exposed 库来编写数据库操作。
我编写了一个挂起函数来使用事务执行一段代码(使用 Exposed DSL 编写的数据库查询)。这是来自 ktor 入门指南的一篇博文。
suspend fun <T> dbQuery(block: () -> T): T = withContext(Dispatchers.IO) {
transaction { block() }
}
Run Code Online (Sandbox Code Playgroud)
每当我需要执行数据库查询时,我都会调用
dbQuery {
// my queries
}
Run Code Online (Sandbox Code Playgroud)
因为 Exposed 使用线程本地事务管理器以及阻塞 JDBC 驱动程序,所以我想知道这样做是否安全?
没有关于如何使用协程实际处理 mysql 连接的好的文档。
如果这是错误的并最终导致事务锁定,那么任何有关如何解决此问题的指针都会有所帮助。
归档时间: |
|
查看次数: |
3885 次 |
最近记录: |