Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将oracle数据类型映射到java数据类型?_Java_Oracle_Jdbc_Type Conversion - Fatal编程技术网

如何将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

如何将oracle数据类型映射到java数据类型

我试了如下,但不准确

 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”。