当前位置: 首页 > 面试题库 >

您将在Java / MySQL中将BigDecimal映射为哪种类型?

商绍元
2023-03-14
问题内容

在经历了以前的开发工作的代码折磨之后,我意识到我需要移动所有基于资金的列,以不使用浮点数学。在Java方面,这意味着使用BigDecimal,但在使用Hibernate
/ JPA和MySQL 5时,适合该列的MySQL数据类型是什么?


问题答案:

十进制和数字。

对于DECIMAL和NUMERIC类型,建议的Java映射是java.math.BigDecimal。java.math.BigDecimal类型提供数学运算,以允许与其他BigDecimal类型,整数类型和浮点类型相加,相减,相乘和除以BigDecimal类型。

建议检索DECIMAL和NUMERIC值的方法是ResultSet.getBigDecimal。JDBC还允许以简单的字符串或char数组的形式访问这些SQL类型。因此,Java程序员可以使用getString接收DECIMAL或NUMERIC结果。但是,这使得将DECIMAL或NUMERIC用作货币值的情况比较尴尬,因为这意味着应用程序编写者必须对字符串执行数学运算。也可以将这些SQL类型检索为任何Java数字类型。

看看这里了解更多详情。



 类似资料:
  • 问题内容: 在经历了先前开发人员的代码残骸之后,我意识到我需要移动所有基于资金的列,以不使用浮点数学。在Java方面,这意味着使用BigDecimal,但是在使用Hibernate / JPA和MySQL 5时,适合该列的MySQL数据类型是什么? 问题答案: 十进制和数字。 对于DECIMAL和NUMERIC类型,建议的Java映射是java.math.BigDecimal。java.math.

  • 问题内容: 您在JPA域模型中使用以下哪种收集类型以及原因: 我想知道是否有一些基本规则。 更新 我知道a 和a 之间的区别。A 允许重复且具有顺序,而a 不能包含重复元素且未定义顺序。我在JPA的背景下问这个问题。如果严格遵循定义,那么您应该始终使用类型,因为您的集合存储在关系数据库中,那里您不能重复,并且您自己定义了一个顺序,即Java中的顺序是不一定保留在数据库中。 例如,大多数时候我使用类

  • 我有一张这样的地图<代码>地图 我使用了对象映射器,但它不工作,因为映射在我的结构中包含另一个映射。

  • 问题内容: 我正在寻找一个表的链接,该表包含SQL类型(java.sql.Types)与Java类型之间的映射。 你知道我在哪里可以找到吗? 问题答案: 该 JDBC 4.x的规范 ,通过提供JSR 221 ,提供在标题为附录B中该信息 数据类型转换表 。 请参阅包含从Java对象类型到JDBC类型的映射的表。当调用JDBC API的不同方法时,将有不同的表用于映射。例如,在方法期间使用的映射存在

  • 我需要在代码的几个地方将这个映射转换为我的case类,如下所示: 最简单的方法是什么?我能用隐式吗?