mysql decimal(10,2)对应java类型

46 篇文章 0 订阅

下面我给出MYSQL类型与JAVA类型对应表,希望能够帮到您:
类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)
VARCHARL+NVARCHARjava.lang.String12
CHARNCHARjava.lang.String1
BLOBL+NBLOBjava.lang.byte[]-4
TEXT65535VARCHARjava.lang.String-1
     
INTEGER4INTEGER UNSIGNEDjava.lang.Long4
TINYINT3TINYINT UNSIGNEDjava.lang.Integer-6
SMALLINT5SMALLINT UNSIGNEDjava.lang.Integer5
MEDIUMINT8MEDIUMINT UNSIGNEDjava.lang.Integer4
BIT1BITjava.lang.Boolean-7
BIGINT20BIGINT UNSIGNEDjava.math.BigInteger-5
FLOAT4+8FLOATjava.lang.Float7
DOUBLE22DOUBLEjava.lang.Double8
DECIMAL11DECIMALjava.math.BigDecimal3
BOOLEAN1同TINYINT  
     
ID11PK (INTEGER UNSIGNED)java.lang.Long4
     
DATE10DATEjava.sql.Date91
TIME8TIMEjava.sql.Time92
DATETIME19DATETIMEjava.sql.Timestamp93
TIMESTAMP19TIMESTAMPjava.sql.Timestamp93
YEAR4YEARjava.sql.Date

91

  • 37
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL中的DECIMAL数据类型对应Java中的BigDecimal类。在Java中,BigDecimal类可以表示任意精度的十进制数,因此它可以用于处理需要高精度计算的金融和科学应用程序。 要将MySQL DECIMAL类型的值转换为Java BigDecimal对象,可以使用BigDecimal类的构造函数,将DECIMAL类型的值作为字符串传递给它。例如,假设有一个名为decimalValue的DECIMAL类型的列: ```java import java.math.BigDecimal; import java.sql.*; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase", "username", "password"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT decimalValue FROM myTable"); while (rs.next()) { BigDecimal value = new BigDecimal(rs.getString("decimalValue")); System.out.println(value); } conn.close(); } catch (Exception e) { System.out.println(e); } } } ``` 在这个例子中,我们使用Java的JDBC API连接到MySQL数据库,然后执行一个查询,将结果集中的DECIMAL类型的值转换为BigDecimal对象。这样,我们就可以使用BigDecimal类提供的各种方法对这些值进行精确的计算。 ### 回答2: MySQL 数据库中的 DECIMAL 类型对应 Java 中的 BigDecimal 类型Decimal 类型在数据库中用来存储精确的小数值,因为浮点数可能会产生舍入误差,所以 DECIMAL 类型优于浮点类型。 BigDecimal 类型Java 中用于表示任意精度的小数值,它使用 BigInteger 维护精度,并且在运算过程中不会丢失精度。因此,BigDecimal 类型MySQL 数据库中的 DECIMAL 类型非常相似。 在 Java 中,可以使用 BigDecimal 的构造函数将 DECIMAL 类型的值转换为 BigDecimal 类型。例如: BigDecimal decimalValue = new BigDecimal("3.14"); 在这个例子中,将字符串 "3.14" 作为参数传递给 BigDecimal 的构造函数,创建一个 BigDecimal 对象。 同样,在使用 JDBC 连接 MySQL 数据库时,也可以使用 ResultSet 类的 getBigDecimal() 方法获取 DECIMAL 类型的值并转换为 BigDecimal 类型。例如: ResultSet rs = stmt.executeQuery("SELECT price FROM products"); while (rs.next()) { BigDecimal price = rs.getBigDecimal("price"); System.out.println(price); } 在这个例子中,使用 getBigDecimal() 方法从 ResultSet 中获取名为 "price" 的 DECIMAL 类型的值,并将其转换为 BigDecimal 类型。然后使用 System.out.println() 方法打印 BigDecimal 对象的值。 总之,MySQL 数据库中的 DECIMAL 类型对应 Java 中的 BigDecimal 类型,这两种类型都用于存储精确的小数值,并且在 Java 应用程序中可以轻松地获取和操作这些值。 ### 回答3: MySQL中的Decimal类型对应Java中的BigDecimal类。BigDecimalJava中的一个高精度计算类,可以处理任意长度和精度的十进制数。Decimal类型的精度可以在创建表时进行指定,它可以存储精度高达65个数字,其中包括小数点后的位数。 在Java中,建议使用BigDecimal类来处理钱的相关运算,因为钱涉及到精度问题,使用double和float容易导致精度丢失。BigDecimal类提供了加、减、乘、除等精确计算方法,能够避免精度丢失的问题。 例如,在Java中读取一个Decimal类型的列,可以使用ResultSet的getBigDecimal()方法,该方法返回一个BigDecimal类型的对象,一个例子如下: ```java try { Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); String sql = "SELECT price FROM products WHERE id = 1"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { BigDecimal price = rs.getBigDecimal("price"); System.out.println("Price: " + price); } } catch (SQLException e) { e.printStackTrace(); } ``` 以上是MySQL Decimal对应Java类型的一个简单示例,其中使用了BigDecimal类从数据库中读取Decimal类型的值。需要注意的是,Decimal类型的运算和处理需要结合具体的应用场景进行考虑,尤其是在需要精度控制的场景中需要特别小心。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值