如何将oracle dataType映射到java dataType?
我试了一下,但不准确。
DatabaseMetaData databaseMetaData = this.getConnection().getMetaData();
ResultSet rs = databaseMetaData.getColumns(catalog, schema, tableName, columnName);
while (rs.next()) {
if ( rs.getString("data_type").equals(Types.NUMERIC)){
javaDataType = "java.math.BigDecimal";
} }例如:甲骨文=>编号(2,3) => javaDataType = BigDecimal;甲骨文=>编号(15) => javaDataType = BigDecimal;
将oracle dataType转换为java dataType的最佳方法
发布于 2014-01-11 14:27:17
我不太清楚你想做什么。
Oracle在java clases和SQL类型之间具有默认映射,
请看这张桌子:01/java.112/e16548/apxref.htm#JJDBC28906
例如,有从NUMBER类型到java类型的有效转换:
+---------------+--------------------+
| SQL data type | Java types |
+---------------+--------------------+
| NUMBER |boolean |
| |char |
| |byte |
| |short |
| |int |
| |long |
| |float |
| |double |
| |java.lang.Byte |
| |java.lang.Short |
| |java.lang.Integer |
| |java.lang.Long |
| |java.lang.Float |
| |java.lang.Double |
| |java.math.BigDecimal|
| |oracle.sql.NUMBER |
+---------------+--------------------+如果我们想要将NUMBER作为特定的java类型,我们需要使用来自ResultSet接口的appriopriate getXXX方法,例如:
getInt检索该数字为java int-> http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getInt%28int%29。
getLong将该数字检索为java long -> http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getLong%28int%29。
getDouble将该数字检索为java long -> http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getDouble%28int%29。
getBigDecimal以java BigDecimal -> http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getBigDecimal%28java.lang.String,%20int%29的形式检索数字
这是您--开发人员--为您的数据选择适当方法的责任。
https://stackoverflow.com/questions/21061890
复制相似问题