Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 Spring Batch 的新手,我需要从 DB 中读取数据并写入 JSON 格式。最好的方法是什么?有什么api吗?或者我们需要编写自定义作家?或者我需要使用 GSON 或 JACKSON 等 JSON 库?请指导我...
如果您的数据库支持 JSON,则不需要 GSON 或 Jackson 库。
示例:在 SQL Server 中,有一个选项可以将数据作为 JSON 字符串而不是结果集从数据库中获取。
参考 - https://docs.microsoft.com/en-us/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-server?view=sql-server- 2017
https://docs.microsoft.com/en-us/sql/relational-databases/json/format-nested-json-output-with-path-mode-sql-server?view=sql-server-2017
例子 -select (select * from tableName for json path) as jsonString;
select (select * from tableName for json path) as jsonString;
这已经为您提供了 JsonString 中的输出,您可以将其写入文件。
要从关系数据库中读取数据,您可以使用其中一种数据库读取器。您可以在存储库中找到一个示例spring-batch-samples。
spring-batch-samples
为了写入 JSON 数据,Spring Batch4.1.0.RC1提供了JsonFileItemWriter允许您将 JSON 数据写入文件的功能。它与 a 协作JsonObjectMarshaller将对象编组为 JSON 格式。Spring Batch 提供对 Gson 和 Jackson 库的支持(您需要在类路径中拥有要使用的库)。您可以在此处找到更多详细信息。
4.1.0.RC1
JsonFileItemWriter
JsonObjectMarshaller
希望这可以帮助。