java的LocalDateTime存入MySQL中datetime被四舍五入,导致查询异常

异常描述:

1.mysql数据库,插入记录,对象create_time(LocalDateTime)字段是手动赋值的,recordVo.setCreateTime(LocalDateTime.now());


2.查询时的条件,时间字段 赋值如下,有时候能查出来,有时候不行。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
String formattedDateTime = bookingOrderPo.getCreateTime().format(formatter);
param.put("date", formattedDateTime);

 

3.排查发现
数据库中该条记录的create_time是 21:53:04秒,但是查询时间是21:51:03秒,

排查结果就是LocalDateTime获取的时间,比如 2024-04-09T21:53:03.945,入库会被四舍五入,存成2024-04-09T21:53:04,但是查询时formatter 只根据秒来查。

 

4.解决措施

对象赋值时先统一格式化,再入库,后面查询就没有问题了。

 

 

 
posted @   乌云de博客  阅读(750)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2015-04-09 转!!Java JTable 根据表格内容 自动调整表格列宽
2015-04-09 MYSQL 编码方式 ------导入 .sql 文件 报编码错误
2015-04-09 转!!MYSQL数据类型
2015-04-09 Java JTable 表格 获取存储路径,文件名 ,导出excel表格
点击右上角即可分享
微信分享提示