Java的LocalDataTime与Date和mysql中的datatime和data的关系

LocalDataTime 与Data区别

  1. LocalDatatime是Java8引入的新类型,属于Java8日期时间API,Data是旧版的日期API
  2. 不可变性:LocalDataTime是不可变类,一旦创建后就不能修改,需要修改只能创建新的对象,Data是可变类,可以直接修改
  3. 时区处理:Data类在内部便是日期和时间的同时会考虑当前系统的时区,LocalDataTime是不带时区的信息的类,只表示日期和时间没有时区的概念
  4. 精确度:Data类精确到毫秒级别,但是设计存在问题,存在线程问题,而LocalDataTime精确度可以精确到纳秒级别。

mysql中的data和datatime区别

  • data类型:用于需要一个日期而不需要时间部分时,
  • datatime:用于同时包含日期和时间信息的值

注意

在jdk1.8中使用Data类,数据库中使用 datatime类型时会存在以下bug:

复制代码
Cannot set createTime: incompatible types, cannot convert java.time.LocalDateTime to java.util.Date

大致意思是:LocalDataTime类型数据不能转换为Data类型,但是可以通过将数据中的datatime修改为data,但是将java中的Data类型修改为LocalDataTime会出现,java8不支持LocalDatatime,到这人已经麻了,网上看别人出现该问题可以通过修改mysql驱动,换用更低版本的驱动解决,但是我这里并没有解决。经过测试在jdk17的环境下没有出现上述BUG。

相关推荐
Dovis(誓平步青云)1 小时前
《QT学习第四篇:常见事件与UDP、TCP、文件系统、(锁、信号量、条件变量》
c语言·开发语言·汇编·qt
kisy夏2 小时前
多千帆运营平台
大数据·爬虫·mysql
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
来杯@Java8 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记9 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥9 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog9 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008119 小时前
FastAPI APIRouter
开发语言·python
Benszen9 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆9 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang