jdbc-java.sql.date和java.util.date之间转换

?处理数据库数据时我们经常要封装到javaBean对象中,或者把用户传递的传输赋给数据库例:resultSet.setDate(int,Date);

这样就存在一个问题,javaBean中的对象穿梭于各个层之间,里面不能存在java.sql包下的东西,而数据库里面的时间类型却是java.sql包下的;

因此我们需要进行转换!!!!

1、领域对象(domain)中的所有属性不能出现java.sql包下的内容,即不能使用java.sql.date

2、ResultSet.getDate()返回的是java.sql.Date

3、PreparedStatement setDate(int,date)其中第二个参数也是java.sql.Date

时间类型的转换

*java.uti.Date==》java.sql.Date、time、timestamp

把util.Date转换成毫秒值,然后用毫秒值创建sql.Date

*java.sql.Date、time、timestamp==》java.uti.Date

这一步转换不用做了因为java.uti.Date是java.sql.Date、time、timestamp父类!

java.util.Date date= new java.util.Date();

Long  time= date.getTime();

java.sql.Date sqlDate = new java.sql.Date(time);

时间: 2024-10-20 06:14:53

jdbc-java.sql.date和java.util.date之间转换的相关文章

java.util.Date 和Java.sql.Date、java.sql.Time、java.sql.Timestamp的互换

1.sql时间类型转util时间类型 原理:java.sql.Date.java.sql.Time.java.sql.Timestamp三个类都是java.util.Date的子类,故根据多态的设计原理,父类引用指向子类对象,可以直接转换. 即: java.util.Date uDate = new java.sql.Date(0); 或: java.util.Date uDate = new java.sql.Time(0); 或: java.util.Date uDate = new jav

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结 转

java.util.Date.java.sql.Date.java.sql.Time.java.sql.Timestamp区别和总结 java.lang.Object ....|__java.util.Date ..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time [父类]java.util.Date日期格式为:年月日时分秒 [子类]java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据] [子类]java.

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系

参考:链接 在Web开发中,避免不了对日期的操作,常用的关于时间的类有这么几个: java.util.Date.java.sql.Date.java.sql.Time.java.sql.Timestamp,这几个类在JDK的定义如下所示: java.lang.Object -.|__java.util.Date ---.|__java.sql.Date/java.sql.Timestamp/java.sql.Time -.|__java.security.Timestamp java.util.

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结

final SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US);//dd/MM/yyyy final Date now = new Date(); System.out.println(now); final String strDate = sdfDate.format(now); System.out.println(strDate); final Timesta

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结

java.sql.Date.java.sql.Timestamp区别和总结 java.lang.Object ....|__java.sql.Date/java.sql.Time [父类]java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据] [子类]java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒) 针对不同的数据库选用不同的日期类型 ·Oracle的Date类型,只需要年月日,选择使用java.sql.Timestamp类型 ----------

解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中,发布的接口的入参有些类型支持不是很好,比如Timestamp和Map.这个时候我们就需要编写一些适配来实行类型转换. TimestampAdapter.java package com.loongtao.general.crawler.webservice.utils; import java.s

java中时间类(util Date)的后延与前推处理

当后延或者前推的天数在一定时间之内时,可以用以下方法处理 public static Date  getValidEndTime(Date date,int validDayCount){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String datestr = sdf.format(date); try { date = sdf.parse(datestr); } catch (ParseException

java.sql.preparedstatement和java.sql.statement的区别

本文转自CSDN,然后整理了一遍.原文出处:CSDN JDBC(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力.在使用statement获取JDBC访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-0520:56 或者 02/05/02 8:56 pm. 通过使用java.sql.preparedstatement,这个问题可以自动解决.一个prep

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间.分钟.秒和毫

java.util.Date与java.sql.Date

我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.Date和java.sql.Date,在定义日期类型的时候要使用全名,就是像这样: java.util.Date udt; java.sql.Date sdt; 然后我就查java.util.Date和java.sql.Date的区别和用法,这方面网上资料挺全,我就不赘述了,大致区别就是java.ut