mybatis plus saveOrUpdate实现有重复数据就更新,否则新增

2022-07-17 10:14:37 浏览数 (1)

目录

  • 1 你的实体类有id这个字段
  • 2 你的实体类里面没有ID字段

1 你的实体类有id这个字段

mybatis plus 默认是根据ID查询数据库,看是否有一样的数据的;;所以我们要求你的表里面一定要有一个ID字段

代码语言:javascript复制
  Test testDemo = new Test();
        testDemo.setId("555");
        testDemo.setBbb(555.33f);

        gbaseTestService.saveOrUpdate(testDemo);

以上的代码意思就是,先根据ID查询数据库,看有没有数据,如果有,那么久更新,如果没有,那么久新增

2 你的实体类里面没有ID字段

不是所有的表里面都有ID字段,那么如何实现以上的功能,也就是根据特定的字段进行判断,如果这个字段一样,那么久更新,否则新增;

首先我们先找到实体类,在我们要判断的那个字段上面加

之后写代码

代码语言:javascript复制
        Test testDemo = new Test();
        testDemo.setAaa("555");
        testDemo.setBbb(555.33f);
        UpdateWrapper<Test> unite_demo = new UpdateWrapper<Test>()
                .eq("aaa", testDemo.getAaa());
        gbaseTestService.saveOrUpdate(testDemo,unite_demo);

以上就实现了新增或者更新的操作

0 人点赞