java编程中java.util.Date与java.sql.Date问题

网上关于java.util.Date与java.sql.Date之间的区别和互换有很多讲解:

1.前者是后者的父类。

2.转换:java.sql.Date sqlDate = new java.sql.Date(new java.tuil.Date().getTime());

在项目中遇到这种情况:

 mysql 数据库字段是datetime型,对应的javabean类中该属性是java.util.Date类型。

1.将javabean中数据存入数据库中,要将java.util.Date类型的数据转换成java.sql.Date类型,

这里在实践的时候发现,存入数据库中的值是没有时间的,只有日期,上网查了下,得到下面

这句:“虽然java.sql.Date在JDBC中不能接受时间,只能接受日期,但只要通过long型构造函数

传进去的,再弄出来也是不会丢失的”。

2.将数据库中的数据赋值到javabean中,通过jdbc编程,取得该datetime型的数据有多种方式,如:

rs.getString():这种方式得到的数据格式会变化,如数据库中是“2013-01-24 12:09:09”,以该种方式取出

的字符串是“2013-01-24 12:09:09.0”这种格式,在进行格式转换时就要用“yyyy-MM-dd HH:mm:ss.s”否则会

报错。

rs.getDate():这种方式得到的数据,秒数位的数据会丢失,不知道为什么。

rs.getTimestamp:这种方式得到的数据可以直接复制给java.util.Date,不用多余转换,也不会出现数据丢失。


你可能感兴趣的:(java编程中java.util.Date与java.sql.Date问题)