如何匹配oracle和java数据类型[已关闭]

sy5wg1nm  于 2023-01-11  发布在  Java
关注(0)|答案(3)|浏览(114)

17小时前关门了。
Improve this question
我有一些oracle数据类型。然而,这些有时是用不同的方式编写的...我怎么才能找到它们的java数据等价物呢?
假设有这样一个表,我将把这些数据类型移到java实体类中。
是否有工具或文档可以让我在ORACLE端找到此数据的正确java等价物?
在互联网上找到的例子没有解释像(38,0)或(6,4)这样的例子。

|      Column      |  Type              |
|------------------|--------------------|
|        Year      |   Number(4,0)      |
|        Month     |   Number(2,0)      |
|        Value     |   Number(15,0)     |
|        Value2    |   Number(6,4)      |
|        Value3    |   Number(22,6)     |
|        Value4    |   Number(2,0)      |
|        Value5    |   Number(38,0)     |

我应该如何在java中创建正确的等价物呢?
有没有工具可以做到这一点?

bihw5rsg

bihw5rsg1#

“等价”是错误的思考方式,只有“大到足以代表所有可能的值”。
一个Java int最多可以存储+2,147,483,647。因此,它最多可以存储9位十进制数(加上10位十进制数的小数)。
如果您的Oracle类型小于或等于9,则可以放入Java整型。如果大于或等于10,则必须是Java长整型。

ego6inou

ego6inou2#

我认为你应该把你的问题的原因贴出来,因为它有点混乱。
1.如果您想知道在Java中获取这些列的好数据类型应该是什么,那么Long就可以了。
1.如果你想知道Oracle中的数据类型是如何管理精度的,我认为没有原始数据类型可以管理精度,但是你可以创建一个类来内部管理一个double,在构造函数中你可以在保存之前将数字中继到一个特定的小数位数。你应该根据自己的需求来决定逻辑。

uyhoqukh

uyhoqukh3#

根据this oracle documentation,java类型和oracle类型之间的Map为:
| Java类型|Oracle类型|
| - ------| - ------|
| 布尔值,java. lang.布尔值|编号(1)|
| 整数,java. lang.整数|数量(10)|
| 长整型,java.长整型|数量(19)|
| 浮点数,java. lang.浮点数|数字(19,4)|
| 双精度,java. lang.双精度|数字(19,4)|
| 短,java. lang.短|数量(5)|
| 字节,java语言字节|编号(3)|
| java.lang.Number|数量(38)|
| java.math.BigInteger|数量(38)|
| java.math.BigDecimal|数量(38)|
| java.lang.String|变量字符(255)|
| 字符,java. lang.字符|字符(1)|
Additional information can be found here: https://docs.oracle.com/database/121/JJDBC/datacc.htm#JJDBC28367

相关问题