标签: kotlin-exposed

有没有办法用Kotlin的Exposed库运行原始sql

我正在尝试运行一些特定于postgres的sql,并希望在Exposed中重用事务管理.

kotlin kotlin-exposed

5
推荐指数
3
解决办法
3878
查看次数

Maven导入依赖Jetbrains暴露

在Jetbrains'Exposed的github页面上,一个Kotlin SQL框架,有一个指向页面的链接,您可以在该页面中获取该库的maven依赖项(https://bintray.com/kotlin/exposed/exposed/view#).在MVNRepository(https://mvnrepository.com/artifact/org.jetbrains.exposed/exposed/0.7.6)上也可以找到相同的依赖关系.

我正在使用maven 3.3.9和Intellij 2016.3.4,但maven无法解决此依赖关系.我检查了〜/ .m2 /目录,似乎已下载(存在一个jar).在查看存储库后,我看到没有pom.xml,他们使用Gradle.

是否仍然可以使用maven导入此依赖项?

maven-3 maven kotlin kotlin-exposed

5
推荐指数
1
解决办法
1178
查看次数

我可以将Ktor和Exposed混合使用吗?

我正在使用Ktor和Exposed ORM编写服务,这显然不是异步的.我来自Python世界,然后使用阻塞ORM和异步IO库是一个罪过,因为它可能会阻止线程中的所有用户.Kotlin是否适用同样的规则?我创建了一个糟糕的架构吗?

asynchronous nio kotlin kotlin-exposed

5
推荐指数
2
解决办法
996
查看次数

可以从 Java 代码中使用 Kotlin Exposed

我知道您通常可以从 Java 调用 Kotlin 代码,但是在进行 Exposed 时值得这样做吗?或者它的 API 是否过于依赖 Kotlin 的惯用编码方式。

有没有人有使用 Java 代码中的 Kotlin Exposed 的经验?而且玩得好吗?

kotlin-exposed

5
推荐指数
0
解决办法
618
查看次数

在 Spring Boot 中公开的 SQL 日志记录

如何在 Spring Boot 中启用 Exposed 生成的 sql 查询的日志记录?

下面做工作:logging.level.org.jetbrains.exposed.sql:DEBUG logging.level.org.jetbrains.exposed:DEBUG

kotlin spring-boot kotlin-exposed

4
推荐指数
1
解决办法
2948
查看次数

暴露 Kotlin。西里尔字母编码问题

我尝试解决编码问题。因此,我从“邮递员”从网络浏览器请求发送到服务器,在服务器中我通过请求中的键在数据库中搜索数据。请求可以是这样的:

\n\n
http://localhost:8080/books.getBooksByGenre/\xd0\x94\xd0\xbe\xd0\xba\xd1\x83\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe\xd0\xb5/0/10\n
Run Code Online (Sandbox Code Playgroud)\n\n

(在浏览器中)。\n服务器接收字符串,例如

\n\n
http://localhost:8080/books.getBooksByGenre/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5/0/10\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后,从 url:\ngenreName: \'\xd0\x94\xd0\xbe\xd0\xba\xd1\x83\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd0 获取参数\xbb\xd1\x8c\xd0\xbd\xd0\xbe\xd0\xb5\'\nstart: 0\ncount: 10.\n然后,此数据发送到 dao:

\n\n
override fun findGenreByName(genreName: String): DatabaseGenre {\n    return transaction(db) { getGenreByName(genreName) }\n}\n\nprivate fun getGenreByName(genreName: String): DatabaseGenre {\n    return try {\n        val foundGenre = GenreEntity.find { Genres.genre eq genreName }.single()\n        DatabaseGenre(foundGenre.id.value, foundGenre.genre, foundGenre.link)\n    } catch (e: Exception) {\n        throw NothingFoundInDatabaseException("no one genre found by \'$genreName\'")\n    } catch (e: NoSuchElementException) {\n        val m = "Duplicates of genre with name \'$genreName\'"\n        throw DuplicatedDataInDatabaseException(m)\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

在日志中我看到,用于查找流派的 sql 查询是正确的,但我收到一个异常: …

orm collate kotlin kotlin-exposed

4
推荐指数
1
解决办法
1261
查看次数

如何在 Kotlin 中插入带有外键的暴露记录?

我在 Kotlin Exposed 文档中找不到如何使用外键插入记录的方法:

object DocumentTable : IntIdTable() {
    val description = varchar("desc", 200)
}

object TransactionTable : IntIdTable() {
    val amount = long("amount")
    val documentId = reference("documentId", DocumentTable.id)
}

fun createTrans(amount: Long, document: Document) {
    transaction {
        TransactionTable.insert {
           it[this.amount] = amount
           it[this.documentId] =  ?????????????
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

kotlin kotlin-exposed

4
推荐指数
1
解决办法
3190
查看次数

将 Jetbrains 公开库与 Ktor 一起使用并在协程内执行数据库事务是否安全?

我是 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 连接的好的文档。

如果这是错误的并最终导致事务锁定,那么任何有关如何解决此问题的指针都会有所帮助。

kotlin kotlin-exposed ktor kotlin-coroutines

4
推荐指数
1
解决办法
3885
查看次数

使用 Jetbrains 公开库的字符串主键 - Kotlin

我在弄清楚如何编写带有字符串主键的表并拥有该表的实体时遇到问题。无论我将其IdTable<String>作为 Table 类型还是尝试将其与普通类型一起使用,Table都不起作用。

kotlin kotlin-exposed

4
推荐指数
1
解决办法
3865
查看次数

公开的 ORM:多对多关系最佳实践中的 DSL 与 DAO

我正在建立一些多对多关系,并且到目前为止一直在使用暴露的 DSL 模式(而不是 DAO)。然而,创建多对多关系似乎只能使用 DAO 方法。

我知道交替使用这两种模式可能没问题,但是当我设置项目并继续前进时,我想知道从代码质量的角度来看最好的方法是什么。两者都使用还是切换到 DAO?或者第三种选择是,这个问题代表了对 Kotlin 和/或 Exposed (两者都是新的)的误导性理解,在这种情况下,我哪里出错了?提前致谢

kotlin kotlin-exposed

4
推荐指数
1
解决办法
2000
查看次数