大佬教程收集整理的这篇文章主要介绍了java.util.Date与java.sql.Date,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
恭喜,你已经使用JDBC达到了我最喜欢的功能:Date类处理。
基本上,数据库通常至少支持三种形式的日期时间字段,即日期,时间和时间戳。它们每个在JDBC中都有一个对应的类,并且每个都进行了扩展java.util.Date
。这三个中的每个的快速语义如下:
java.sql.Date
对应于sql DATE,这表示它存储年,月和日,而时,分,秒和毫秒被忽略。此外,sql.Date它与时区无关。java.sql.Time
对应于sql TIME,并且应该很明显,它仅包含有关小时,分钟,秒和毫秒的信息。java.sql.timestamp
对应于sql timestAMP,它是具有可自定义精度的精确日期,以纳秒为单位(请注意,util.Date
仅支持毫秒!)。
与这三种类型相关联使用JDBC驱动程序时,最常见的错误之一是这些类型的处理不正确。这意味着sql.Date
特定于时区,sql.Time
包含当前的年,月和日等。
确实取决于字段的sql类型。PreparedStatement
有三个值的设置器,#setDate()
分别是for sql.Date,#setTime()for sql.Time和#settimestamp()for sql.timestamp
。
请注意,如果你使用的ps.setobject(fIEldindex, utilDateObject)
;话,实际上可以util.Date为大多数JDBC驱动程序提供一个普通的驱动程序,它会很高兴地吞噬它,就好像它是正确的类型一样,但是当你随后请求数据时,你@R_713_9381@实际上丢失了一些东西。
我的意思是将毫秒/纳秒保存为普通的long,并将其转换为你正在使用的任何对象(强制性的joda-time插件)。一种可行的方法是将日期部分存储为一个长期时间部分,将日期和时间部分存储为另一个,例如现在将是20100221和154536123。这些不可思议的数字可以在SQL查询中使用,并且可以从数据库移植到另一个数据库中,将使你完全避免JDBC / Java Date API:s的这一部分。
以上是大佬教程为你收集整理的java.util.Date与java.sql.Date全部内容,希望文章能够帮你解决java.util.Date与java.sql.Date所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。