Tag: kotlin暴露

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

我试图运行一些特定于Postgres的SQL,并希望在Exposed内重复使用事务管理。

暴露:如何解析JSON到一个实体类

我有以下用户表对象和实体类: object UserTable : IntIdTable() { val name = varchar(“name”, 256) } class User(id: EntityID): IntEntity(id) { companion object : IntEntityClass(UserTable) val name by UserTable.name } 有没有办法使用Gson(或其他库)来解析JSON到User实例,然后插入它? 从我可以告诉,看来我必须创建一个中间的UserData数据类,然后手动复制字段。 data class UserData { var id: Int? var name: String? } fun main() { val data = Gson().fromJson(“…”, UserData::class.java) val user = User.new { name = data.name […]

NoClassDefFoundError使用Exposed时

我正在使用Exposed作为我的数据库库,当我尝试运行我的代码时遇到这些错误: Exception in thread “main” java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses at org.jetbrains.exposed.sql.Table.clone(Table.kt:196) at org.jetbrains.exposed.sql.Table.cloneWithAutoInc(Table.kt:234) at org.jetbrains.exposed.sql.Table.autoIncrement(Table.kt:238) at org.jetbrains.exposed.sql.Table.autoIncrement$default(Table.kt:238) at vanilla.jubeatbook.data.Songs.(SQLObjects.kt:14) at vanilla.jubeatbook.data.Songs.(SQLObjects.kt:13) at vanilla.jubeatbook.backend.MainKt$main$1.invoke(Main.kt:22) at vanilla.jubeatbook.backend.MainKt$main$1.invoke(Main.kt) at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:70) at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:58) at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:49) at vanilla.jubeatbook.backend.MainKt.main(Main.kt:21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Caused by: java.lang.ClassNotFoundException: kotlin.reflect.full.KClasses at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … […]

Maven导入依赖Jetbrains暴露

在Jetbrains的Exposed(一个Kotlin SQL框架)的github页面上,有一个链接指向一个页面,在这里你可以获得这个库的maven依赖( https://bintray.com/kotlin/exposed/exposed/view# )。 MVNRepository也可以find相同的依赖关系( 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导入这个依赖项?

Kotlin-Exposed在他们的wiki上的例子是行不通的

这段代码被直接从Kotlin-Exposed Wiki中删除,但不起作用。 奇怪和沮丧,我不能得到它的工作,因为我有一个很酷的项目,需要使用RDBMS的想法。 我错过了什么? 它坏了吗? import org.jetbrains.exposed.sql.StdOutSqlLogger import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.transactions.transaction import org.jetbrains.exposed.sql.selectAll fun main(args: Array) { Database.connect(“jdbc:h2:mem:test”, driver = “org.h2.Driver”) transaction { logger.addLogger(StdOutSqlLogger) val stPeteId = Cities.insert { it[name] = “St. Petersburg” } get Cities.id println(“Cities: ${Cities.selectAll()}”) } } // Table definition object Cities : Table() { val id = […]

如何在Intellij中使用H2和SQLite中的Kotlin

当我尝试在Intellij中使用SQLite或H2中的Kotlin时,Intellij给了我这个错误: Exception in thread “main” java.lang.ClassNotFoundException: org.h2.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.jetbrains.exposed.sql.Database$Companion.connect(Database.kt:91) at org.jetbrains.exposed.sql.Database$Companion.connect$default(Database.kt:90) at MainKt.main(main.kt:9) 这是我的Gradle文件: buildscript { ext.kotlin_version = ‘1.2.20’ repositories { mavenCentral() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” classpath “org.h2.Driver” } } group ‘1’ version ‘1.0-SNAPSHOT’ apply plugin: ‘kotlin’ repositories { mavenCentral() maven […]