首先明确一点: java和数据库的时间Date类型是不一样的

mysql的Date : import java.sql.Date

java的Date : import java.util.Date

从java中向数据库中存入一个Date类型时,我们需要将java的Date转换为数据库的Date才能插入,不然会报错

我们需要创建一个Date(import java.util.Date) d ,这是一个javaDate

然后调用下面的转换函数, DateUtil,dtot(d) 此时便成为一个数据库的Date

这是写的一个datetime与date转换的一个类

public class DateUtil {

//将Java date转化为 数据库Datepublic staticjava.sql.Timestamp dtot(java.util.Date d) {if (null ==d)return null;return newjava.sql.Timestamp(d.getTime());

}

//将数据库Date 转化为java datepublic staticjava.util.Date ttod(java.sql.Timestamp t) {if (null ==t)return null;return newjava.util.Date(t.getTime());

}

}

怎样使用

一般我们将java.util.data插入数据库的时候

假设 有个类clz 为 {

String name;

int age;

Date d;

setter(), getter()方法....

}

在jdbc中

给你一个clz的类 test 让你插入到sql中

sql = "insert into test_table  (name, age, Date) values(?,?,?);

需要

setObject(1, test.getName());

setObject(2, test.getAge());

setObject(3, DateUtil.dtot(test.getDate)); //

在这之前设置的..很可能就被覆盖了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐