向MySQL数据库插入日期时出错解决

当我们通过jdbcdao向mysql数据库插入日期时,如果程序会抛出下面的异常:

 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: 'Sun Jul 28 00:00:00 CST 1996' for column 'birthday' at row 1

原因:我们插入的日期时java.util.Date类型的,而mysql数据库中的date是java.sql.Date类型的,所以会抛出异常

解决办法:将java.util.Date类型的日期转换为java.sql.Date类型,然后在插入数据库,就不会抛异常了,具体转换代码如下:

// util.date转换成sql.date

java.util.Date utilDate = new java.util.Date(); //获取当前时间

System.out.println(utilDate);

java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

System.out.println(sqlDate);


// sql.date转换成util.date

java.sql.Date sqlDate1 = new java.sql.Date(new java.util.Date().getTime());

System.out.println(sqlDate1);

java.util.Date utilDate1 = new java.util.Date(sqlDate1.getTime());

System.out.println(utilDate1);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值