java c3p0获取主键_浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法

一、Oracle的主键Sequence设置简介

在Oracle数据库中不支持主键自增策略,它是通过Sequence序列来进行完成的,因此需要在MP中进行相关配置

二、相关配置如下

2.1、pom.xml 添加相关依赖

注意:由于oracle的授权问题,没办法从maven仓库中下载,因此可以手动从oracle官网中下载,并本地打包到仓库中

com.oracle

ojdbc14

10.2.0.4.0

2.2、db.properties 添加相关的连接配置信息

orcl.driver=oracle.jdbc.OracleDriver

orcl.url=jdbc:oracle:thin:@localhost:1521:mp

orcl.username=username

orcl.password=1234

2.3、applicationContext.xml 添加dataSource设置

2.4、在Oracle中创建表数据及序列

create table tbl_user(

id number(10),

name varchar2(32),

delete_flag number(10)

)

-- 创建序列

create sequence seq_user start with 1;

2.5、实体相关配置

注意两点:

@KeySequence(value="seq_user",clazz=Integer.class) //value为数据库中生成的序列名,class指主键属性类型

@TableId(type=IdType.INPUT)  //注意主键类型要指定为Input

@KeySequence(value="seq_user",clazz=String.class) //value为数据库中生成的序列名,class指主键属性类型

public class User {

@TableId(type=IdType.INPUT) //注意主键类型要指定为Input

private String id;

@TableField(fill=FieldFill.INSERT_UPDATE) //当插入和更新都会进行字段的填充

private String name;

@TableLogic //标志是一个逻辑标识符号

private Integer deleteFlag;

2.6、applicationContext.xml配置

本质:

其实在Oracle数据库中进行新增数据首先在数据库中先执行

select seq_user.nextval from dual;这样获取下一个主键的序列,然后再执行插入操作

另外:

实际开发中可能会有很多个实体类,所以在每个实体类上都加上@KeySequence,显得很繁琐

假如需要多个实体公用同一个序列

可以将@keySequence 定义在父类中, 可实现多个子类对应的多个表公用一个 Sequence

到此这篇关于浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法的文章就介绍到这了,更多相关Mybatis-Plus Oracle 主键Sequence内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值