1. 根据id更新

这里就要用到.updateById(参数是一个实体类对象)

 /*** 测试mybatis-plus的修改操作*/@Testvoid testUpdateUser(){User user = new User();user.setId(1L);user.setName("嘿嘿");user.setAge(18);user.setEmail("123@qq.com");userMapper.updateById(user);}

2. 自动填充

我们在做项目时,时常会碰到一些数据每次都是用相同的方式进行填充的,比如订单实体的创建时间,更新时间等等。mybatis plus给我们提供了自动填充功能,方便了我们的开发。

官方教程:https://mp.baomidou.com/guide/auto-fill-metainfo.html

以user表为例,里面有datetime类型的字段 create_time、update_time。

现在我们用mybatis-plus完成字段的自动填充。

  1. 实体上添加注解 @TableField(fill = “什么时候开始填充”)

    注解里面的值

  2. 实现MetaObjectHandler接口

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;@Component
public class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {this.setFieldValByName("createTime",new Date(),metaObject);this.setFieldValByName("updateTime",new Date(),metaObject);}@Overridepublic void updateFill(MetaObject metaObject) {this.setFieldValByName("updateTime",new Date(),metaObject);}
}

需要注意的是要加上@Component注解,将该类交给spring管理。

  1. 测试
    添加一条数据观察是否将时间自动填充了
/*** 测试mybatis-plus的添加操作*/@Testvoid testAddUser(){User user = new User();user.setName("王五");user.setAge(123);user.setEmail("123@qq.com");userMapper.insert(user);}

结果:


更新该数据,将名字改为赵六,观察更新时间是否自动填充:

 /*** 测试mybatis-plus的修改操作*/@Testvoid testUpdateUser(){User user = new User();user.setId(1376487369963753473L);user.setName("赵六");user.setAge(18);user.setEmail("123@qq.com");userMapper.updateById(user);}

查看结果


测试成功。

mybatis-plus修改操作(自动填充)相关推荐

  1. mybatis批量修改操作示例

    mybatis批量修改操作示例 # 将 id 为1的年龄改为 80 , name 改为 zsf , name 改为 张三丰 # 将 id 为2的年龄改为 90 , name 改为 ldl , name ...

  2. mybatis批量修改操作

    mybatis批量修改操作 前言 面对复杂的需求,有时无脑的产品会提出无脑的新需求让你反复修改哈哈. 批量修改操作 json格式(PS:这里为list传参) [{"key": 1, ...

  3. 修改浏览器自动填充的input背景色

    修改前: 使用浏览器自动填充账号密码时,input样式会变为自动填充色. 修改后: 代码(亲测有效!!): .ant-input {&:-webkit-autofill {background ...

  4. MyBatisPlus-9-公共字段自动填充

    公共字段自动填充 1.1 元数据处理器接口 com.baomidou.mybatisplus.mapper.MetaObjectHandlerinsertFill(MetaObject metaObj ...

  5. mybatis-plus 初始化项目 主键自增策略 自动填充 逻辑删除 乐观锁 复杂查询 分页查询

    一创建数据库(添加数据) 二 创建springboot工程 导入工程所需要的依赖(mybatis-plus,mysql-connector-java,lombok) <dependency> ...

  6. 【Mybatis系列】之插件—自动填充字段插件,再也不需要手动填写或者耦合业务了!

    Mybatis是一个非常流行的Java ORM框架,它为开发者提供了一种简单的方式来操作关系型数据库.Mybatis插件是Mybatis的一个重要扩展功能,它允许开发者通过自定义插件来增强Mybati ...

  7. SpringBoot公共字段自动填充

    大家好,我是小羽,今天做项目的时候遇到一个问题,每次添加数据时都要设置创建时间,创建人,修改时间,修改人等字段,实在是太繁琐了.那我能不能让他们添加这些字段的信息呢? 问题分析 创建时间,创建人,修改 ...

  8. MyBatisPlus自动填充

    MyBatisPlus自动填充 项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等. 我们可以使用MyBatis Plus的自动填充功能,完成这些字段的赋值工作; (1 ...

  9. Mybatis-plus的自动填充功能

    1.概述 在我们开发过程中,经常需要做一些插入操作,有些麻烦,特别是对于一些每次插入或修改都需要改变的的一些字段,例如创建时间和修改时间两个字段,和数据没什么关系但是每次修改都需要被动修改这两个字段, ...

  10. 无能狂怒之我对配置类一无所知之自动填充和分页

     一.自动填充日期篇 实体类: @Data @TableName("tb_item") public class Item {@TableId(type = IdType.AUTO ...

最新文章

  1. HTTP_REFERER的获取情况
  2. ASP.NET的Page.IsPostBack 属性详细说明(转)
  3. leetcode 1423. 可获得的最大点数(滑动窗口)
  4. C#的多线程机制探索7
  5. python高性能写法_python高性能编程方法一
  6. 大疆aeb连拍_大疆进军运动相机领域,发布OSMO?ACTION,对标GoPro
  7. 计算机更新过后cad,CAD2022更新了什么?具有哪些新功能?
  8. natapp 使用教程
  9. android手机变windows8,你真没有看错!Android手机一秒变Win10
  10. 精心整理了50个数据源网站(建议收藏)
  11. 找二叉树根节点到叶子结点最长路径
  12. Trias发起的世界区块链黑客松,牛津启动会首秀成功!
  13. Ubuntu 无法播放视频
  14. 人脸识别行业热点频频背后蕴藏巨大商机
  15. 《富爸爸巴比伦最富有的人》读书笔记3000字
  16. 《大上海》《血滴子》票房不佳很可能都赔钱
  17. C语言入门:计算所有N位水仙花数
  18. 规则引擎 Drools:决策表
  19. 扎克伯格的6大创业思维、32个商业忠告!若能悟透,赚钱不难
  20. 机器学习入门之泰坦尼克号预测存活情况(Taggle)

热门文章

  1. 记录最近的几个bug
  2. SAP 以工序为基准进行发料 机加工行业 Goods Issue to Routing
  3. Button.Text属性换行问题(Button.Bounds自动换行)
  4. 19. PHP 表单验证 - 必填字段
  5. jQuery中return false e preventDefault e stopPropagation 的区
  6. phpcms站点域名配置https无法提交如何处理
  7. 2018-2019-1 20189213《Linux内核原理与分析》第五周作业
  8. java 基础 1 final关键字
  9. 第四期coding_group笔记_用CRF实现分词-词性标注
  10. Ubuntu1404+Django1.9+Apache2.4部署配置1安装