MySQL中支持以下日期时间类型:
DATE:存储年月日(例如:2023-04-05)。范围从"1000-01-01"到"9999-12-31"
TIME:存储时分秒(例如:11:22:22)。范围从"-838:59:59"到"838:59:59"
DATETIME:同时存储年月日和时分秒(例如:2023-04-05?11:22:22)。范围从“1000-01-01 00:00:00”到“9999-12-31 23:59:59”
TIMESTAMP:与DATETIME相同,但是它的范围更小,仅支持1970-2038。
YEAR:存储4位数的年份(例如:2023)。范围从1901到2155
启动报错,? date5 在实体类中是java.util.Date类型? ? 数据库是year类型
先将date5在插入时候去掉
再次启动,数据被插入
将date5实体类改成String
插入成功?
也就是说mysql数据库的year类型? 需要用字符串? ?那么我用int? Integer? 这样行不行呢
也是可以的
用 int Integer? ?double Double? float Float 设置值时候家f? Long long? 都是可以的
下面试下查询? ? ? ? 这里测试的Boot版本是2.7.2? mysql是8.0
下面实体类类型换成String
这里dat1到date5都需要注意范围和格式
实体类全部换成String类型后
查询
如果要换成2023/09/09这样格式? ?需要设置数据库的时间格式? 其实个人觉得数据库时间字段的话
实体类属性类型可以用String更简单
关于SimpleDateFormat作为成员变量的线程安全问题
将字符串转Date是存在并发安全问题的? 用了共有的Calender
但是将Date转指定格式字符串不存在安全问题