加入收藏 | 设为首页 | 会员中心 | 我要投稿 孝感站长网 (https://www.0712zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

如何将oracle dataType映射到java dataType?

发布时间:2021-02-08 04:17:15 所属栏目:站长百科 来源:网络整理
导读:如何将oracle dataType映射到 java dataType? 我尝试如下,但不准确. DatabaseMetaData databaseMetaData = this.getConnection().getMetaData(); ResultSet rs = databaseMetaData.getColumns(catalog,schema,tableName,columnName); while (rs.next()) { i

如何将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";
     } }

例如 :
oracle =>数字(2,3)=> javaDataType = BigDecimal;
oracle => number(15)=> javaDataType = BigDecimal;

将oracle dataType转换为java dataType的最佳方法?

解决方法

我不太确定你想做什么.
Oracle在java clases和SQL类型之间有默认映射,
请看一下这张表: http://docs.oracle.com/cd/E11882_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接口中的一个适当的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

您的 – 开发人员 – 有责任为您的数据选择合适的方法.

(编辑:孝感站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读