Mybatis-plus策略自动更新数据库时间失败,如何解决?

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

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

Mybatis-plus策略自动更新数据库时间失败,如何解决?

在MyBatis项目中,我们通常会使用其插件plus来扩展其基本查询功能。另一方面,在阿里巴巴巴巴开发手册的规范中提到,在数据库表创建时,一般会包含一个create_time和一个update_time字段。

引言

在mybatis项目中,我们一般会使用它的插件plus以扩充它的基本查询功能。另一方面,在阿里巴巴开发手册的规范中也提到,在数据库表创建的时候,一般会有一个create_time和update_time字段,它们的建表语句往往如下:

'create_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 'update_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

创建者则是希望在行insert的时候会自动生成create_time,同时在其它行进行修改后,执行update操作会自动更新update_time字段。

博主在开发过程中,首先采用了mybatis plus的selectOne,查询出某一个对象XXX,并对其某一值进行修改(比如状态status从0修改成1),然后想利用数据库的自动时间更新策略,即ON UPDATE CURRENT_TIMESTAMP去自动修改时间。于是用xxxService.updateById(XXX)。

但是,这样子的更新方法并不会自动更新时间。因为selectOne出来的对象是有一个明确时间了,然后update的时候就会注入这个原时间。

阅读全文

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

Mybatis-plus策略自动更新数据库时间失败,如何解决?

在MyBatis项目中,我们通常会使用其插件plus来扩展其基本查询功能。另一方面,在阿里巴巴巴巴开发手册的规范中提到,在数据库表创建时,一般会包含一个create_time和一个update_time字段。

引言

在mybatis项目中,我们一般会使用它的插件plus以扩充它的基本查询功能。另一方面,在阿里巴巴开发手册的规范中也提到,在数据库表创建的时候,一般会有一个create_time和update_time字段,它们的建表语句往往如下:

'create_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 'update_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

创建者则是希望在行insert的时候会自动生成create_time,同时在其它行进行修改后,执行update操作会自动更新update_time字段。

博主在开发过程中,首先采用了mybatis plus的selectOne,查询出某一个对象XXX,并对其某一值进行修改(比如状态status从0修改成1),然后想利用数据库的自动时间更新策略,即ON UPDATE CURRENT_TIMESTAMP去自动修改时间。于是用xxxService.updateById(XXX)。

但是,这样子的更新方法并不会自动更新时间。因为selectOne出来的对象是有一个明确时间了,然后update的时候就会注入这个原时间。

阅读全文