数据库时间类型字段精度问题
Datetime Timestamp保存毫秒 防止精度丢失
- 数据库字段为 DATETIME(3) 时可以保存毫秒。
- 当数据库为MariaDb 10.x.x,则需要jdbc驱动需更换为 mariadb connnector,或者Mariadb 相应Mysql 数据库版本高于 5.6.4则无需更改。
- DATETIME(3) 对应的 Java 类型,可以是 java.util.Date,可以是 jsr-310 里定义的其他 时间类型。
- java 类型转化成 sql 对应的时间类型时,最终由数据库驱动通过 java.sql.Timestamp 进行处理。
序列化类型怎么扩展字段
Serializable 的类型,没有写 serialVersionUID 怎么增加字段
- 根据报错信息拿到 serialVersionUID,原本没写则加上这个对应的值,如果不一致,增加字段则会导致反序列化失败。
- 原本写了 serialVersionUID 则增加字段不会导致反序列化失败。
例如,类 CommonInfo 没有写serialVersionUID ,但是java编译后会默认生成一个,根据报错信息得出 serialVersionUID = -1847111039139094523。
java.io.InvalidClassException: com.slankka.model.CommonInfo; local class incompatible: stream classdesc serialVersionUID = -1847111039139094523, local class serialVersionUID = 2723008659689055735
标签:java,数据库,知识,学习,类型,序列化,龙年,serialVersionUID
From: https://www.cnblogs.com/slankka/p/18003527