decimal(6,2)对应java
时间: 2025-06-28 19:19:35 浏览: 5
### 如何在Java中表示和处理SQL `decimal(6,2)` 数据类型
对于 SQL 中的 `decimal(6,2)` 类型,在 Java 中通常使用 `BigDecimal` 来表示,这是因为 `BigDecimal` 可以精确地存储并操作十进制数,从而避免浮点运算带来的精度损失[^2]。
当从数据库读取 `decimal(6,2)` 类型的数据到 Java 应用程序时,可以利用 JDBC 的 `ResultSet.getBigDecimal()` 方法来获取该类型的值:
```java
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DecimalExample {
public static void main(String[] args) throws Exception {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT price FROM products WHERE id=1");
while (rs.next()) {
BigDecimal price = rs.getBigDecimal("price"); // 获取 decimal(6,2) 类型的价格字段
System.out.println(price);
}
rs.close();
stmt.close();
conn.close();
}
}
```
如果要向支持 `decimal(6,2)` 的表插入数据,则可以通过 PreparedStatement 设置参数的方式完成:
```java
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertDecimalExample {
public static void main(String[] args) throws Exception {
String sql = "INSERT INTO products(id,name,price) VALUES(?,?,?)";
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, 2); // ID
pstmt.setString(2, "Product Name"); // 名字
pstmt.setBigDecimal(3, new BigDecimal("99.99")); // 使用 setBigDecimal() 插入 decimal(6,2)
int affectedRows = pstmt.executeUpdate();
System.out.println("受影响行数:" + affectedRows);
}
}
}
```
阅读全文
相关推荐


















