久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Springboot+MybatisPlus+Oracle實(shí)現(xiàn)主鍵自增的示例代碼

瀏覽:124日期:2023-04-08 09:13:42

上周周一,本來剛過完周末,高高興興,老大突然安排了個(gè)活,要在一天內(nèi)把項(xiàng)目的MySQL數(shù)據(jù)庫換成Oracle數(shù)據(jù)庫,我們都知道這是不可能完成的任務(wù),但是,秉承著“沒有困難的工作,只有不努力的打工人”的精神,我們馬上投入了工作,第一步當(dāng)然是先配置數(shù)據(jù)庫、oracle建表,這個(gè)解決調(diào)試了一上午,然后下午卡到oracle主鍵了,所有人網(wǎng)上找方法,一直到第二天凌晨3點(diǎn)半都還沒解決,網(wǎng)上方法很多,試了好多都不管用,終于第二天才找到了滿足的方法。

廢話不多說,下面貼出。

application.yml配置

# Mybatis的相關(guān)配置mybatis-plus: mapper-locations: classpath*:com/XX/XX/XX/dao/mapping/*.xml typeAliasesPackage: com.XX.XX.XX.model global-config: #主鍵類型 0:'數(shù)據(jù)庫ID自增', 1:'用戶輸入ID',2:'全局唯一ID (數(shù)字類型唯一ID)', 3:'全局唯一ID UUID'; id-type: 1 #序列接口實(shí)現(xiàn)類配置 key-generator: com.baomidou.mybatisplus.incrementer.OracleKeyGenerator

model實(shí)體類配置(僅展示id)

import java.io.Serializable;import javax.persistence.*;import lombok.Data; @Data@Table(name = 'POJO')public class SysLogeInfo implements Serializable { @Id @Column(name = 'ID') @SequenceGenerator(name = 'sequenceGenerator',sequenceName = 'POJO_SEQ') @GeneratedValue(generator = 'sequenceGenerator',strategy = GenerationType.SEQUENCE) private Integer id;}

其中:

@SequenceGenerator的name與@GeneratedValue的generator相對(duì)應(yīng)

sequenceName即你在oracle數(shù)據(jù)庫中為此表創(chuàng)建的自增序列名(貌似框架無法自動(dòng)生成,需要自己手動(dòng)創(chuàng)建)

這樣,主鍵ID插入null值的問題基本解決了,但是我們的Mapper繼承了tk.mybatis.mapper.common.Mapper,插入是直接調(diào)tk.Mapper的insertSelective(T var1)方法,有時(shí)候我們需要插入后的主鍵id,這種方法沒辦法得到,所以只能手寫insert方法,如下。

<insert keyColumn='ID' keyProperty='id' parameterType='com.XX.XX.XX.model.POJO' useGeneratedKeys='true'> <selectKey resultType='int' order='BEFORE' keyProperty='id'> SELECT POJO_SEQ.nextval id FROM DUAL </selectKey> INSERT INTO POJO ( ID,COL1,COL2,COL3,COL4,COL5,COL6) VALUES (#{id,jdbcType=INTEGER}, #{col1,jdbcType=INTEGER}, #{col2,jdbcType=VARCHAR}, #{col3,jdbcType=INTEGER}, #{col4,jdbcType=INTEGER}, #{col5,jdbcType=DATE}, #{col6,jdbcType=INTEGER})</insert>

注:<selectKey>標(biāo)簽中加入order=’BEFORE’即可在插入完成后返回主鍵。

到此這篇關(guān)于Springboot+MybatisPlus+Oracle實(shí)現(xiàn)主鍵自增的文章就介紹到這了,更多相關(guān)Springboot+MybatisPlus+Oracle實(shí)現(xiàn)主鍵自增內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 台湾省| 长寿区| 清河县| 邹城市| 中江县| 安阳市| 陕西省| 天津市| 姜堰市| 交口县| 家居| 新干县| 伊宁市| 镇赉县| 邯郸市| 合水县| 山阴县| 霍林郭勒市| 甘德县| 霸州市| 凤庆县| 沙坪坝区| 海淀区| 莆田市| 淅川县| 阜平县| 宜都市| 黄陵县| 梅河口市| 田林县| 县级市| 八宿县| 延安市| 大足县| 洛隆县| 柳林县| 普定县| 宝鸡市| 惠来县| 金山区| 新疆|