如何使用Spring Batch将DB的输出写入JSON文件?

时间:2018-10-17 17:51:50

标签: json spring spring-batch itemwriter

我是Spring Batch的新手,我需要从DB读取数据并以JSON格式写入。最好的方法是什么?有任何api吗?还是我们需要编写自定义作家?还是我需要使用GSON或JACKSON之类的JSON库?请指导我...

2 个答案:

答案 0 :(得分:0)

要从关系数据库读取数据,可以使用database readers之一。您可以在spring-batch-samples存储库中找到an example

要写入JSON数据,Spring Batch 4.1.0.RC1提供了JsonFileItemWriter,可让您将JSON数据写入文件。它与JsonObjectMarshaller协作以将对象封送为JSON格式。 Spring Batch为Gson和Jackson库提供了支持(您需要在类路径中使用要使用的库)。您可以找到更多详细信息here

希望这会有所帮助。

答案 1 :(得分:0)

如果您的数据库支持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;

这已经为您提供了JsonString的输出,您可以将其写入文件。