gpt4 book ai didi

java - 如何使用Java ResultSet将结果转换为String

转载 作者:行者123 更新时间:2023-11-29 06:46:24 24 4
gpt4 key购买 nike

我正在创建一个程序来远程连接到 MySQL 服务器并创建一个 .sql 文件,而无需控制台访问。我手动执行此操作是为了跟踪完成的进度。

.sql转储文件中,有一行是INSERT INTO。我可以轻松地使用数字和 String 对象来完成此操作,但是如何使用 Blob 和日期来完成此操作?

有什么方法可以使用 set.getObject(column); 并将其转换为可以放入 .sql 文件中的字符串吗?

如果没有,我可以使用 set.getMetaData().getColumnType(column) 然后与多种数据类型中的每一种进行比较吗?然后从那里,我如何将其转换为字符串以放入文件中?

感谢您的帮助。

另外,我做了这个post之前,它提供了有关我正在做什么以及为什么这样做的更多信息。

编辑:这被标记为重复,但另一个答案甚至没有回答我的问题。这解释了如何使用文本数据类型来做到这一点。我需要知道如何处理 BLOBS、Date 和所有其他 SQL 数据类型。

编辑2:我需要一个适用于所有数据类型的解决方案,而不仅仅是提到的数据类型。

最佳答案

对于日期,使用 ResultSet.getDate(),然后使用 SimpleDateFormat 和 yyyy-MM-dd HH:mm:ss 模式转换为字符串。或者 ResultSet.getTimestamp() 并根据时间戳时间(以毫秒为单位)创建一个新的日期。然后使用 CAST('2018-03-12 14:15:16' AS DATETIME)CAST('2018-03-12) 将日期转字符串写入生成的 SQL 文件中14:15:16'(截至日期)

对于 blob,请使用 ResultSet.getBinaryStream() 将流写入 byte[] 数组。然后遍历数组并生成每个字节有两位数字的十六进制字符串。最后将字符串作为 INSERT INTO table (the_blob_column) VALUES (x'89A099D153EF')

放入输出 SQL 中

关于java - 如何使用Java ResultSet将结果转换为String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49243186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com