如何将oracle数据类型映射到java数据类型?
如何将oracle数据类型映射到java数据类型 我试了如下,但不准确如何将oracle数据类型映射到java数据类型?,java,oracle,jdbc,type-conversion,Java,Oracle,Jdbc,Type Conversion,如何将oracle数据类型映射到java数据类型 我试了如下,但不准确 DatabaseMetaData databaseMetaData = this.getConnection().getMetaData(); ResultSet rs = databaseMetaData.getColumns(catalog, schema, tableName, columnName); while (rs.next()) { if ( rs.getString("data_type
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";
} }
例如:
oracle=>number(2,3)=>javaDataType=BigDecimal;
oracle=>number(15)=>javaDataType=BigDecimal
将oracle
数据类型
转换为java数据类型
的最佳方法?我不太清楚您想做什么。Oracle在java类别和SQL类型之间有默认映射,
请看这张表:
例如,存在从
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 |
+---------------+--------------------+
如果我们想获得一个数字
作为一个特定的java类型,我们需要从ResultSet
接口使用适当的getXXX
方法,例如:getInt将数字检索为java int-->
getLong将数字检索为java long-->
getDouble将数字检索为java long-->
getBigDecimal将数字检索为java BigDecimal-->
这是您-开发人员-为您的数据选择适当方法的责任。我想通过在源代码中进行区分,将“ORACEL”中出现的“数据类型”映射到“JAVA”源代码中的“数据类型”,例如“NUMBER(13,2)”到“FLOAT”。