java jdbc连接oracle数据库,sql语句处理时间代码的问题

java jdbc连接oracle数据库,sql语句处理时间代码的问题

**最近做一个数据库迁移的项目,就是把原有的数据迁移到一个新的库中,其中事件处理方面各种类型的时间数据,因此在这里做一个小结

sqlmsg = "SELECT DATA FROM wds.telemetrywaterlevelhour WHERE id=? "
					+ "AND MEASCODE=? and appliedtime=? "
这个代码中的applied time传的应该是java.sql.date数据,而不是java.util.date数据,两者的区别在于sql.date只精确到天,util.date精确到秒的级别。或者直接传递timestamp类型的数据,timestamp是精确到秒级别的。
为此,我再次做了一个总结,关于各种时间数据的转换关系:

1.Date和Timestamp是父子类关系,timestamp 转化为date,这里先把字符串按照格式转化为date类型的变量

    //Date或者String转化为时间戳  
SimpleDateFormat format =  newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
String time="1970-01-06 11:45:55";  
Date date = format.parse(time);  
System.out.print("Format To times:"+date.getTime());  

2.date 转化为timestamp

Timestamp ts = new Timestamp(date.getTime());
  1. Calendar 与Date 的互相转化,实际开发过程中calendar类也用的十分频繁,我们使用calendar.getTime()将calendar转化为date类型数据
    Date date = calendar.getTime();Date date = calendar.getTime();

4.date转calendar

`calendar.setTime(date);`

5.calendar转timestamp:这个可以以date类型转为中间转换,先将timestamp转位date,再将date转为calendar:如

`Timestamp ts= new Timestamp(calendar.getTime().getTime())`

jdbc 操作数据库是最底层的技术,做这个项目的过程中还是遇到了一些问题,以后有机会再一一总结下来!

猜你喜欢

转载自blog.csdn.net/qq_43248125/article/details/83053736
今日推荐