1.首先在pom.xml文件中,导入坐标;
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>
2.然后在application.properties中配置数据库连接
#oracle连接信息
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@192.168.112.137:1521:helowin
spring.datasource.username=system
spring.datasource.password=oracle
3.然后,在MybatisPlusConfig.xml文件中新建一个序列生成器
@Bean //Oracle序列生成器
public OracleKeyGenerator oracleKeyGenerator()
{
return new OracleKeyGenerator();
}
4.在实体类User上配置这个数据库中序列名和类型
@KeySequence(value = "SEQ_USER", clazz = Long.class)
5.在application.properties配置文件中配置主键生成策略为input类型,并且注释掉原来的自动生成策略;
注意:
这里没有设置表名,是因为springboot默认使用实体类的首字母小写来在数据库中匹配表;
而我的数据库表名为TB_USER;
因此,我在application.properties中,配置了表前缀,这都是基于mybatis-plus插件的功能;
6.开始测试;
标注:3、4、5步都是基于在oracle数据库中创建表时,表的id未设置主键;并且在表中创建了一个自增序列SEQ_USER;
创建表TB_USER的语句;
CREATE TABLE "TB_USER"
( "ID" NUMBER(20) VISIBLE NOT NULL ,
"USER_NAME" VARCHAR2(255 BYTE) VISIBLE ,
"PASSWORD" VARCHAR2(255 BYTE) VISIBLE ,
"NAME" VARCHAR2(255 BYTE) VISIBLE ,
"AGE" NUMBER(10) VISIBLE ,
"EMAIL" VARCHAR2(255 BYTE) VISIBLE )
创建序列SEQ_USER的语句;
CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1