gpt4 book ai didi

java - 迁移数据库时如何判断column是Blob

转载 作者:行者123 更新时间:2023-11-29 05:20:27 25 4
gpt4 key购买 nike

我正在尝试使用 Java 将数据从一个数据库迁移到另一个数据库。除 Blob 类型外,所有其他数据类型均已成功迁移。

这是我检查数据类型并迁移它们的方式。

private String getValue(String value, String type, int i){
StringBuilder columnValue = new StringBuilder("");
if(type.equals("java.lang.String") || type.equals("java.sql.Timestamp") || type.equals("java.lang.Blob")){
if(i== (columnNames.size()-1))
columnValue.append("'"+value+"'");

注意:在 type 中,我将 Blob 作为 [B,我知道 Blob 作为 传递的事实>字节数组 所以我也尝试将其作为数组进行检查,就像这样

type.getBytes().equals("byte[]")

我无法找出我哪里做错了。

最佳答案

正确的解决方案取决于您如何为 type 创建值.如果你使用 rs.getObject(col).getClass().getName() ,那么这个比较将起作用:

type.equals("[B")

byte[].class.getName() 会得到相同的结果.为了防止打字错误,我建议您将类型传递为 Class<?> .这允许您使用 isAssignableFrom() 检查类型:

if( type.isAssignableFrom(String.class)
|| type.isAssignableFrom(java.sql.Timestamp.class)
|| type.isAssignableFrom(byte[].class)
) {

关于java - 迁移数据库时如何判断column是Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26649675/

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