com.huawei.dataconvert.util

public static int getColumnType(String typeName, String dbtype)
{
if ("hsql".equalsIgnoreCase(dbtype))
{
return hsqlDBMap.get(typeName);
} else if ("oracle".equalsIgnoreCase(dbtype))
{
return oracleMap.get(typeName);
}
return 0;
}

public static String getDataInsertSql(TableInfo tableInfo, ResultSet data)
throws Exception
{
String dbType = tableInfo.getDbType();
String tableName = tableInfo.getTablename();
List<Column> columns = tableInfo.getColumns();
Object value = null;
StringBuffer insertSql = new StringBuffer();
insertSql.append("insert into " + tableName + "(");
for (int i = 0; i < columns.size(); i++)
{
if (i != 0)
{
insertSql.append(",");
}
Column column = columns.get(i);
insertSql.append(column.getColumn_name());
}
insertSql.append(") values (");

for (int i = 0; i < columns.size(); i++)
{
if (i != 0)
{
insertSql.append(",");
}
Column column = columns.get(i);
insertSql.append(ColumnTypeMapping.getStringValue(data, column));
}

insertSql.append(")");

return insertSql.toString();
}

private static String getStringValue(ResultSet rs, Column column)
throws SQLException
{
int type = column.getColumn_type();
String columnName = column.getColumn_name();
System.out
.println("columnName:" + columnName + " columnType:" + type);
String value = "";
switch (type)
{
case 12:
value = getCharacterValue(rs.getString(columnName));
break;
case -5:
value = rs.getLong(columnName) + "";
break;
case 91:
value = getDate(rs.getDate(columnName), 91);
break;
case 92:
value = getDate(rs.getTime(columnName), 92);
break;
case 93:
value = getDate(rs.getTimestamp(columnName), 93);
break;
default:
value = rs.getString(columnName);
}
// System.out.println(columnName+" type:"+type);
// System.out.println("Value:"+value);
return value;
}

private static String getDate(Object date, int type)
{
String sdate = "NULL";
if (null != date)
{

Timestamp timestamp = (Timestamp) date;
System.out.println(date.toString());
System.out.println(timestamp.getTime());
sdate = "TO_TIMESTAMP('"
+ ColumnTypeMapping.dateFormat.format(timestamp)
+ "','YYYY-MM-DD HH24:MI:SS')";
}
return sdate;
}

private static String getCharacterValue(String string)
{
if (null == string)
{
return "NULL";
} else
{
return "'" + string + "'";
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值