java+mybatisplus中 LocalDate 是2016-05-08 但是插入oracle变成了2016-05-08 120000 而不是 2016-05-08我不想使用date类型怎么解决? 1localDateTime 与 date类型在插入没有这个问题 2获取数据时localdate会更好。所以最好使用localdate类型 3目前发现localdate在插入时没有时间信息然后多出
在Java中,LocalDate类型表示仅包含日期部分的日期时间。当将LocalDate类型的值插入Oracle数据库时,默认情况下会将时间部分设置为"00:00:00",即午夜。这可能会导致在数据库中看到时间部分为"12:00:00"的结果。
要解决这个问题,可以使用以下方法之一:
-
使用LocalDateTime类型:如果您可以接受在数据库中存储日期和时间信息,可以将字段类型更改为LocalDateTime。这样,插入数据库时将会包含时间部分,并且查询时也可以获得完整的日期和时间信息。
-
使用java.sql.Date类型:如果您不需要时间部分,并且只关注日期部分,可以将字段类型更改为java.sql.Date。这将确保在插入数据库时只有日期部分被存储,并且查询时也只会返回日期部分。
-
使用@DateTimeFormat注解:如果您使用的是Spring框架,并且将LocalDate作为参数传递给MyBatis Plus的插入方法,则可以使用@DateTimeFormat注解来指定日期的格式。例如,您可以在传递给插入方法的参数上使用@DateTimeFormat(pattern = "yyyy-MM-dd")来指定日期的格式。这将确保在插入数据库时只有日期部分被存储,并且查询时也只会返回日期部分。
请根据您的具体需求选择适合您的解决方案
原文地址: https://www.cveoy.top/t/topic/hU0R 著作权归作者所有。请勿转载和采集!