java中 LocalDate 是2016-05-08 但是插入oracle变成了2016-05-08 120000 而不是 2016-05-08我不想使用date类型怎么解决? 1localDateTime 与 date类型在插入没有这个问题 2获取数据时localdate会更好。所以最好使用localdate类型 3目前发现localdate在插入时没有时间信息然后多出120000
在插入时,如果想要保持LocalDate类型的数据只有日期信息而没有时间信息,可以使用toLocalDate()方法将LocalDate对象转换为LocalDateTime对象,然后再插入到Oracle数据库中。
示例代码如下:
LocalDate localDate = LocalDate.of(2016, 5, 8);
LocalDateTime localDateTime = localDate.atStartOfDay();
然后将localDateTime插入到Oracle数据库中,这样插入的数据就只有日期信息,没有时间信息了。
在获取数据时,如果想要得到LocalDate类型的数据,可以使用toLocalDate()方法将LocalDateTime对象转换为LocalDate对象。
示例代码如下:
LocalDateTime localDateTime = // 从数据库中获取的LocalDateTime对象
LocalDate localDate = localDateTime.toLocalDate();
这样就可以得到LocalDate类型的数据了。
总结起来,使用LocalDateTime类型在插入和获取数据时可以保留时间信息,使用LocalDate类型在插入和获取数据时只保留日期信息。根据需求选择合适的类型即可
原文地址: https://www.cveoy.top/t/topic/hU0A 著作权归作者所有。请勿转载和采集!