数据库时间和java时间转换 datetime与date转化

首先明确一点: 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转化为 数据库Date
public static java.sql.Timestamp dtot(java.util.Date d) { if (null == d) return null; return new java.sql.Timestamp(d.getTime()); }
  //将数据库Date 转化为java date
public static java.util.Date ttod(java.sql.Timestamp t) { if (null == t) return null; return new java.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)); //

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