mysql insert BigDecimal 中文
时间: 2023-10-29 11:06:05 浏览: 191
MySQL 不支持 BigDecimal 类型,但可以将其转换为 DECIMAL 数据类型进行插入。DECIMAL 数据类型可以存储大数字,精度高于 FLOAT 和 DOUBLE 数据类型。
以下是将 BigDecimal 转换为 DECIMAL 并插入 MySQL 数据库的示例:
假设有一个 BigDecimal 类型的变量 amount,需要将其插入到名为 mytable 的表中的 amount 字段中。可以使用以下代码:
```
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) {
BigDecimal amount = new BigDecimal("1000000.123456");
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password")) {
String sql = "INSERT INTO mytable (amount) VALUES (?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setBigDecimal(1, amount);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们将 BigDecimal 变量 amount 转换为字符串,并将其作为参数传递给 PreparedStatement 的 setBigDecimal 方法。PreparedStatement 会自动将其转换为 DECIMAL 类型,并将其插入到数据库中。注意,一定要使用 PreparedStatement 来插入数据,以避免 SQL 注入攻击。
阅读全文