如何在 H2 数据库中存储文件 - Spring Boot

How to store files in H2 database - Spring Boot

问题

如何将整个文件存储在我的 H2 数据库中并使用 JDBC 检索它们?


一些背景知识

我有一些文本文件作为各种文档的模板,这些文档将在我的 Spring 启动应用程序中生成。目前,我的文本文件存储在我 PC 上的本地文件系统中,但这不是一个长期的解决方案。我需要以某种方式将它们存储在数据库中,并为 JDBC 提供必要的代码以检索文件。

有没有 technologies/libraries 可以帮助我解决这个问题?如果是这样,请 link 我向他们提供一个示例,说明如何在 Spring Boot.

中执行此操作

注意:新要求文本文件应该存储在数据库中,而不是文件系统中。

您必须在数据库中使用 BLOB 列 table。

CREATE TABLE my_table(ID INT PRIMARY KEY, document BLOB);

BLOB 代表二进制大对象。 http://www.h2database.com/html/datatypes.html#blob_type

要使用 JdbcTemplate 存储它,您必须创建一个 ByteArrayInputStream

ByteArrayInputStream inputStream = new ByteArrayInputStream(document);
preparedStatement.setBlob(3, inputStream);

请在此处查找更多示例: https://www.logicbig.com/tutorials/spring-framework/spring-data-access-with-jdbc/jdbc-template-with-clob-blob.html