Mybatis-plus向oracle插入数据返回主键

1.在实体类上指定使用序列

@KeySequence(value = “your seq”) //指向当前序列

2.指定自增长字段

@TableId(value = "ID", type = IdType.INPUT) //注解

3.mybatis-plus配置中注册生成主键bean

/**
 * 序列生成器
 */
@Bean
public OracleKeyGenerator oracleKeyGenerator(){
    return new OracleKeyGenerator();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。使用原生的Mybatis编写持久层逻辑时,所需要的代码是比较繁琐的,需要定义Mapper接口和Mapper.xml文件,每一个方法都需要编写对应的sql语句,会存在很多大量的重复工作,使用MP之后,对通用的方法做了高度的抽取,避免了很多重复工作,可以非常快速的实现了单表的各种增、删、改、查操作。除此之外,MP还提供了其他的高级功能,如:枚举、插件、ActiveRecord、SQL注入等。 本课程全面讲解了Mybatis-Plus框架的使用,从快速入门到原理分析再到插件的应用。每一个知识点都有案例进行演示学习,最终通过学习你将全面掌握MP的使用,从而使Mybatis的的开发更加的高效,达到事半功倍的效果。 适应人群 有一定的Java以及Mybatis框架的基础。 从0开始全面讲解Mybatis-Plus框架 l 快速入门 n Mybatis + MP 整合 n Spring + Mybatis + MP 整合 n SpringBoot + Mybatis + MP 整合 n 通用CRUD的全面讲解 n 配置 l 高级用法 n 条件构造器 n Oracle 主键Sequence n 通用枚举n ActiveRecord n 逻辑删除 l 插件 n 执行分析插件 n 性能分析插件 n 乐观锁插件 主讲内容 章节一:快速入门 1. Mybatis-Plus简介 2. 快速入门 3. 通用CRUD 4. 配置 5. 条件构造器 章节二:进阶 1. ActiveRecord 2. Oracle 主键Sequence 3. 插件 章节三:高级应用 1. Sql 注入器 2. 自动填充功能 3. 逻辑删除 4. 通用枚举 5. 代码生成器 6. MybatisX 快速开发插件
MyBatis Plus是基于MyBatis的增强工具,可以简化MyBatis的操作和提供更多的便利性。 要实现如果存在就更新,如果不存在就插入的功能,可以使用MyBatis Plus提供的`saveOrUpdate`方法。 在使用`saveOrUpdate`方法时,需要先判断数据是否已经存在。可以在查询数据库时判断是否存在数据记录,或者使用MyBatis Plus提供的`exists`方法,判断数据是否已经存在。 如果数据存在,即已经存在相应的记录,就直接调用`update`方法进行更新操作。可以使用`UpdateWrapper`对象来设置更新的条件,使用`set`方法设置需要更新的字段和值。 如果数据不存在,即没有相应的记录,就调用`save`方法进行插入操作。可以直接传入实体对象进行插入操作。 示例代码如下: ```java // 实例化或注入MyBatis Plus的Mapper对象 @Autowired private MyEntityMapper myEntityMapper; // 假设要插入或更新的实体对象为myEntity MyEntity myEntity = new MyEntity(); myEntity.setId(1L); myEntity.setName("John"); // 判断数据是否已经存在 boolean exist = myEntityMapper.exists(new QueryWrapper<MyEntity>().eq("id", myEntity.getId())); if (exist) { // 如果数据已存在,执行更新操作 boolean updated = myEntityMapper.update(myEntity, new UpdateWrapper<MyEntity>().eq("id", myEntity.getId())); if (updated) { System.out.println("更新成功"); } else { System.out.println("更新失败"); } } else { // 如果数据不存在,执行插入操作 boolean saved = myEntityMapper.save(myEntity); if (saved) { System.out.println("插入成功"); } else { System.out.println("插入失败"); } } ``` 以上是基于MyBatis Plus的实现思路,根据实际需求和系统架构的不同,可以有多种方式来实现该功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值