如何在 Kotlin/Native 中使用 SQLite?
How to use SQLite in Kotlin/Native?
对于多平台项目,我考虑Kotlin/Native,希望至少在业务逻辑和数据保存方面有一个共同的代码库。
为了保存数据,我想使用像 SQLite 这样的数据库。但是,根据 ,如果我想编译成 Kotlin/Native,我不能使用任何 Java 文件。如果我理解正确,这也意味着我包含的任何 SQLite 库都不允许从 Java.
导入
在搜索这样的库时,我发现了两个有趣的Jetbrain 数据库项目,即Anko SQLite and Exposed。然而,在挖掘他们的源代码时,在撰写本文时,两者都从 Java 导入(例如 java.sql)。这可能意味着我不能使用它们。
我的一个想法是使用 c-based sqlite library, since according to ,Kotlin/Native 代码允许使用 c 库。这可能是可能的,但我想知道 Kotlin/Native?
中是否没有建议使用 SQLite 或其他数据库的更像 Kotlin 的方式
您确实需要使用 C SQLite 库,但您的大部分代码不应直接使用它。相反,您编写一个包装器,这将是您询问的更像 Kotlin 的方式。
我还没有看到这样的包装器作为一个单独维护的项目完成(还有 非常 几个用于 Kotlin/Native 的库),但 Jetbrains 实际上有一个基本的https://github.com/JetBrains/kotlinconf-spinner/tree/master/kotlin-native/samples/fullstack/sql 中的一个,您可以将其用作自己的基础。
对于多平台项目,我考虑Kotlin/Native,希望至少在业务逻辑和数据保存方面有一个共同的代码库。
为了保存数据,我想使用像 SQLite 这样的数据库。但是,根据
在搜索这样的库时,我发现了两个有趣的Jetbrain 数据库项目,即Anko SQLite and Exposed。然而,在挖掘他们的源代码时,在撰写本文时,两者都从 Java 导入(例如 java.sql)。这可能意味着我不能使用它们。
我的一个想法是使用 c-based sqlite library, since according to
您确实需要使用 C SQLite 库,但您的大部分代码不应直接使用它。相反,您编写一个包装器,这将是您询问的更像 Kotlin 的方式。
我还没有看到这样的包装器作为一个单独维护的项目完成(还有 非常 几个用于 Kotlin/Native 的库),但 Jetbrains 实际上有一个基本的https://github.com/JetBrains/kotlinconf-spinner/tree/master/kotlin-native/samples/fullstack/sql 中的一个,您可以将其用作自己的基础。