函数的调用方式为:

select pkg1.fun1 from dual;

mybatis-plus一般会使用的主键生成策略为:

    @Bean
public OracleKeyGenerator oracleKeyGenerator(){
return new OracleKeyGenerator();
}

此处由于要使用自定义主键生成策略,所以就不需要以上Bean了。

自定义主键生成策略:

@Slf4j
@Component("mybatisPlusKeyGenerator")
public class MybatisPlusKeyGenerator implements IKeyGenerator {
@Override
public String executeSql(String incrementerName) {
log.info("执行自定义Key生成器,参数:{}",incrementerName);
return "select pkg1.get_key_id from dual";
}
}

然后在数据库实体对象上添加序列注解即可:

@TableName("tablename")
@KeySequence("mybatisPlusKeyGenerator")
public class User{
@TableId(value = "id", type = IdType.INPUT)
private Long id; @TableField("name")
private String name;
}

这样就配置好了。

mybatis-plus使用Oracle函数生成主键的更多相关文章

  1. MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键

    MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...

  2. Mybatis笔记 – insert语句中主键的返回

    在DBMS中可以使用insert语句显示指定自增主键值,但Mybatis中不可,即使指定了也无效,可以使用特殊的方式返回主键. 一.自增主键返回         mysql自增主键执行insert提交 ...

  3. MyBatis 插入记录同时获取主键

    MyBatis 插入记录同时获取主键 MyBatis 插入记录同时获取主键的系统界面 useGeneratedKeys 属性 keyProperty 属性 keyColumn 属性 selectKey ...

  4. Mybatis获取数据库自增主键

    一般我们都为将表中主键列设置为自增,当我们执行插入语句时,比如这样 //测试添加 Employee employee = new Employee(null, "jerry4",n ...

  5. 根据oracle的主键列生成SQLserver的主键

    根据oracle的主键列生成MsSQLServer的主键列 select 'alter table  ' || cu.table_name ||'  add constraint  '||' PK_' ...

  6. Oracle通过主键id删除记录很慢

    问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, selec ...

  7. mybatis添加记录时返回主键id

    参考:mybatis添加记录时返回主键id 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作.在使用mybatis作为ORM组件时,可以很方便地达到这个 ...

  8. Oracle根据主键获取对应表,Oracle根据外键获取相关表

    Oracle根据主键获取对应表 select * from user_constraints a, USER_CONS_COLUMNS b where a.CONSTRAINT_TYPE = 'P' ...

  9. oracle中主键自增

    oracle中主键自增 下面用一个例子来说明自增主键的创建: 1.建用户数据表 drop table dectuser; create table dectuser( userid integer p ...

随机推荐

  1. TreeView 三种状态 没多大变化 只是增加了很多函数以方便调用

    using System.Drawing; using System.Windows.Forms; using System.ComponentModel; namespace SimpleCusto ...

  2. redis 概述及部署 安装php和python客户端

    概述 Redis是一个基于key-value键值对的持久化数据库存储系统.redis支持的数据存储类型比memcached更丰富,包括strings(字符串),lists(列表),sets(集合)和s ...

  3. linux的dos开关机命令

    常用:halt.reboot CentOS关机命令: 重启命令 reboot shutdown -r now 立刻重启 shutdown -r 10 过10分钟自动重启 shutdown -r 20: ...

  4. 模型压缩-Learning Efficient Convolutional Networks through Network Slimming

    Zhuang Liu主页:https://liuzhuang13.github.io/ Learning Efficient Convolutional Networks through Networ ...

  5. vi/vim命令使用

    首先讲一些vim和vi的区别: 它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道 ...

  6. centos7 忘记mysql root登录密码

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和 ...

  7. LeetCode刷题2——颠倒二进制位

    一.题目要求 二.题目背景 此题依旧属于位运算范畴 知识点1:有符号和无符号二进制是怎样表现的? 对于有符号数,最高位为1说明是个负数 知识点2:进制之间的相互转换 (1)十进制转十六进制 hex(n ...

  8. Python学习笔记——集合

    1. 定义 num = {} print(type(num)) num2 = {1,2,3,4,5} print(type(num2)) <class 'dict'> <class ...

  9. C学习笔记-函数

    函数的定义 返回值类型 函数名([[参数类型 参数名1],[参数类型 参数名2],···,[参数类型 参数n]]) { //执行语句 return 返回值; } 返回值类型:用于限定函数返回值的数据类 ...

  10. SpringCloud学习(一)服务的注册与发现Eureka(Finchley版本)

    创建服务注册中心 在这里,我还是采用Eureka作为服务注册与发现的组件. 首先创建一个空项目 首先创建一个空项目,再创建一个maven项目,首先创建一个主Maven工程,在其pom文件引入依赖,sp ...