如何读取将作为 MultipartFile 参数传递的 SQLite 文件? (在 java/kotlin 中)

Posted

技术标签:

【中文标题】如何读取将作为 MultipartFile 参数传递的 SQLite 文件? (在 java/kotlin 中)【英文标题】:How could I read SQLite file which will be passed as MultipartFile parameter? (in java/kotlin) 【发布时间】:2022-01-03 18:39:50 【问题描述】:

我必须编写 REST API 来解析 SQLite 文件并将其数据解析并保存到服务器的 mysql 数据库中。

SQLite 文件将作为 .zip 文件 (MultipartFile) 传递,因此我必须将其解压缩,然后将解压缩的文件作为 DTO 读取。

代码如下..

fun parseSQLite(zipFile: MultipartFile) 
  val file = unzip(zipFile)

  val sqliteDB = somethingLibrary.load(file)

  doParseTable(sqliteDB.execute("select * from TestTable"))

我发现有 sqlite-jdbc 库(https://github.com/xerial/sqlite-jdbc),但它似乎不适用于我的情况。我想我需要 mmap I/O,但是有没有 JAVA 库来做呢?

谢谢!

【问题讨论】:

【参考方案1】:

对于那些可能面临类似问题的人;我决定添加一个步骤,将“解压缩的 SQLite DB”保存到服务器的本地存储中,然后从中加载 DB。

就像是跟随。

fun parseSQLite(zipFile: MultipartFile) 
  val fileName = unzipAndSaveToLocal(zipFile)
  
  val connection = DriverManager.getConnection("jdbc:sqlite:$testdir/db/$fileName");
  doParseTable(connection.createStatement().executeUpdate("select * from TestTable"))

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何读取将作为 MultipartFile 参数传递的 SQLite 文件? (在 java/kotlin 中)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Angular2 将 MultipartFile 作为请求参数发送到 REST 服务器

如何将模型作为参数传递给 ASP.NET MVC 中的 [HttpPost] ActionMethod?

springmvc 多文件上传 MultipartFile 怎么获取前台传过来的参数

MultipartFile 动态决定是否上传文件,解决不上传文件报错

【python3-2】读取html报告返回值,作为接口传参调用

如何将回调作为参数传递给另一个函数