mybatis plus saveOrUpdate实现有重复数据就更新,否则新增方式
目录
- 你的实体类有id这个字段
- 你的实体类里面没有ID字段
- 总结
你的实体类有id这个字段
myBATis plus 默认是根据ID查询数据库,看是否有一样的数据的;所以我们要求你的表里面一定要有一个ID字段
Test testDemo = new Test();编程客栈 testDemo.setId("555"); testDemo.setBbb(555.33f); gbaseTestService.saveOrUpdate(testDemo);
以上的代码意思就是,先根据ID查询数据库,看有没有数据,如果有,那么久更新,如果没有,那么久新增
你的实体类里面没有ID字段
不是所有的表里面都有ID字段,那么如何实现以上的功能,也就是根据特定的字段进行判断,如果这个字段一样,那么久更新,否则新增;
首先我们先ZySoxE找到实体类,在我们要判断的那个字段上面加
之后写代码
Test testDemo = new Te编程客栈st(); testDemo.setAaa("555"); testDemo.setBbb(555.33f); UpdateWrapper<Test&编程客栈gt; unite_demo = new UpdateWrapper<Test>() .eq("aaa", testDemo.getAaa()); gbaseTestService.saveOrUpdate(te编程客栈stDemo,unite_demo);
总结
以上就实现了新增或者更新的操作
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论