Mybatis-Plus中如何配置字段策略以实现数据库自动更新时间戳?

2026-05-16 05:410阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计788个文字,预计阅读时间需要4分钟。

Mybatis-Plus中如何配置字段策略以实现数据库自动更新时间戳?

字段策略+0:忽略判断,1:非NULL判断,2:非空判断+问题描述:当字段策略为0,即“忽略判断的时候,如果实体和数据库有字段是需要自动更新的,例如update_time,更新某条记录”

字段策略 0:”忽略判断”,1:”非 NULL 判断”),2:”非空判断”

问题描述

当字段策略为 0 “忽略判断” 的时候,如果实体和数据库有字段是需要自动更新的,例如update_time,更新某条记录的时候自动刷新update_time,理论上我们在业务控制的时候是不需要设置update_time的,利用数据库特性就好,但是在该字段策略下,业务逻辑要更新字段(没有主动设置 update_time),这时候因为忽略判断,数据库(我这里是MySql)是不会去更新update_time的,即使这个字段在数据库中是这样定义的:update_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE,在这种字段策略下,该字段会被设为null,具体的执行语句时insert into table(….,update_time) values(…,null)。

阅读全文

本文共计788个文字,预计阅读时间需要4分钟。

Mybatis-Plus中如何配置字段策略以实现数据库自动更新时间戳?

字段策略+0:忽略判断,1:非NULL判断,2:非空判断+问题描述:当字段策略为0,即“忽略判断的时候,如果实体和数据库有字段是需要自动更新的,例如update_time,更新某条记录”

字段策略 0:”忽略判断”,1:”非 NULL 判断”),2:”非空判断”

问题描述

当字段策略为 0 “忽略判断” 的时候,如果实体和数据库有字段是需要自动更新的,例如update_time,更新某条记录的时候自动刷新update_time,理论上我们在业务控制的时候是不需要设置update_time的,利用数据库特性就好,但是在该字段策略下,业务逻辑要更新字段(没有主动设置 update_time),这时候因为忽略判断,数据库(我这里是MySql)是不会去更新update_time的,即使这个字段在数据库中是这样定义的:update_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE,在这种字段策略下,该字段会被设为null,具体的执行语句时insert into table(….,update_time) values(…,null)。

阅读全文