- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
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中创建正确的等价物呢?
有没有工具可以做到这一点?
3条答案
按热度按时间bihw5rsg1#
“等价”是错误的思考方式,只有“大到足以代表所有可能的值”。
一个Java int最多可以存储+2,147,483,647。因此,它最多可以存储9位十进制数(加上10位十进制数的小数)。
如果您的Oracle类型小于或等于9,则可以放入Java整型。如果大于或等于10,则必须是Java长整型。
ego6inou2#
我认为你应该把你的问题的原因贴出来,因为它有点混乱。
1.如果您想知道在Java中获取这些列的好数据类型应该是什么,那么Long就可以了。
1.如果你想知道Oracle中的数据类型是如何管理精度的,我认为没有原始数据类型可以管理精度,但是你可以创建一个类来内部管理一个double,在构造函数中你可以在保存之前将数字中继到一个特定的小数位数。你应该根据自己的需求来决定逻辑。
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