在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)

时间:2023-03-08 17:40:25

转自:https://blog.****.net/ShadowerWArden/article/details/80652377

1. 使用JDBC操作Oracle数据库时,使用java.sql.Date类型对应数据库的date类型,此时只能保存和读取日期部分,

  时间(时分秒)部分不能读取和保存;

  查询结果集可以直接获取Date类型的数据:java.sql.Date date=resultSet.getDate("dateTime");

  java.sql.Date类型的数据也可以直接保存到数据库或者与数据库中date类型的数据直接比较大小;

  字符串的日期,则用SQL语句的转换函数 to_date('2017-4-8','yyyy-mm-dd') 转换为date类型插入到数据库。

2. 使用Hibernate操作Oracle数据库时,使用java.util.Date类型对应数据库的date类型,此时数据库可以保存和读取到时分秒;

  java.sql.Date 和java.util.Date 类型的数据都可以直接保存到数据库或者与数据库中date类型的数据直接比较大小,但从数

  据库读取的日期数据要用java.util.Date 进行保存,因为java.sql.Date 是java.util.Date 的子类。

3. 如果想要在oracle中插入date类型的数据并且精确到时分秒,甚至是毫秒,这时候就要利用java.sql.date类型和TimeStamp类型来达到目的,具体代码如下:

SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String signTimet=df.format(new Date());
java.util.Date ud = null;
try {
ud = df.parse(signTimet);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
java.sql.Timestamp signTime = new java.sql.Timestamp(ud.getTime());
文章第3部分为解决方法,通过个人实践所得

文章中1、2两个部分转载他人观点,网址:参考网址
---------------------
作者:Jzen_
来源:****
原文:https://blog.****.net/ShadowerWArden/article/details/80652377
版权声明:本文为博主原创文章,转载请附上博文链接!