OracleのオンMyBatisのプラスラーニング主キーシーケンスの設定

A、Oracleのプライマリキーシーケンスの設定はじめに

我々はMPで設定する必要があるので、主キーは、シーケンスシーケンスによって完成される成長戦略、からOracleデータベースにサポートされていません。

第二に、次のような構成

2.1、その依存関係を追加のpom.xml

注:ライセンスの問題オラクルのために、Mavenのリポジトリからダウンロードする方法はありません、それは手動でOracleの公式ウェブサイトからダウンロードし、ローカルの倉庫にパックすることができます

<! - Oracleドライバ:Oracleの問題は、OracleドライバにMavenのリポジトリからダウンロードすることができないため、許可- > 
        < 依存> 
            < groupIdを> com.oracle </ groupIdを> 
            < たartifactId > ojdbc14 </ たartifactId > 
            < バージョン> 10.2.0.4.0 </ バージョン> 
        </ 依存関係>

2.2、db.propertiesは、関連する接続構成情報を追加します

orcl.driver = oracle.jdbc.OracleDriver
orcl.url = JDBC:オラクル:薄い:@localhost:1521:MP
orcl.username =ユーザ名
orcl.password = 1234

2.3、applicationContext.xmlをが追加データソースを配置

<! - オラクル- > 
    < ID = "データソース" クラス= "com.mchange.v2.c3p0.ComboPooledDataSource" > 
        < プロパティ= "driverClass" = "$ {orcl.driver}" > </ プロパティ> 
        < プロパティ= "jdbcUrlと" = "$ {orcl.url}" > </ プロパティ> 
        < プロパティ= "ユーザ" = "$ {orcl.username}" > </ プロパティ> 
        <プロパティ=「パスワード」= "$ {orcl.password}" > </ プロパティ> 
    </ >

2.4、Oracleでテーブルやシーケンスデータを作成します

(表tbl_userを作成します
 ID番号(10)、
 名前VARCHAR2(32)、
 delete_flag番号(10)
- シーケンスを作成します。
1との配列seq_user開始を作成します。

2.5、エンティティの構成

二つのことに注意してください。

@KeySequence(値=「seq_user」、clazz = Integer.class)//値を配列データベース名が生成され、クラスは主キー属性のタイプを指し

 主キーのタイプを入力として指定すること@TableId(タイプ= IdType.INPUT)//注意

@KeySequence(値=「seq_user」、clazz =ストリング。クラス// 生成されたデータベースの名前のシーケンスの値は、このクラスは、主キー属性のタイプを指す
パブリック クラスユーザー{
     @TableId(タイプ = IdType.INPUT)   // 入力の主キーとして指定されるノート型
     プライベート文字列ID。
     @TableField(フィル = FieldFill.INSERT_UPDATE)// 挿入して充填することをフィールドに更新されます
     プライベート文字列名を、
     @TableLogic   // フラグがための論理的なシンボルである
     プライベート整数deleteFlag。
}

2.6、applicationContext.xmlを設定

 <! - MyBatisの-PLUSため、グローバルコンフィギュレーションポリシー、各エンティティの構成では、アノテーションの繰り返し使用を避けること- > 
    < ID =「globalConfiguration」クラス=「com.baomidou.mybatisplus.entity.GlobalConfiguration」> 
        < プロパティ= "dbColumnUnderline" = "trueに" > </ プロパティ>   <! - デフォルトのコンフィギュレーション・データベースバージョン2.3アンダースコア- > 
        <! - 指定したデータベースID生成戦略0:インクリメントデータベース- > 
        < プロパティ= " idtype " =" 0 " > </ プロパティ> 
        <! - 指定されたデータベースのテーブルのプレフィックス- >
        < プロパティ= "tablePrefix" = "TBL_" > </ プロパティ> 
        <! - 注入シーケンス- > 
        < プロパティ= "するKeyGenerator" REF = "oracleKeyGenerator" > </ プロパティ> 
    </ >
    
    <! - 配置Oracleの主键シーケンス- > 
    < ID = "oracleKeyGenerator" クラス= "com.baomidou.mybatisplus.incrementer.OracleKeyGenerator" > </ >

エッセンス:

実際には、新しいデータは、Oracleデータベース内のデータベース内の最初の実行を最初に実施されます

デュアルから選択seq_user.nextval、主キーで取得した配列は、挿入操作

さらに:

実際の開発は非常にあるプラス各エンティティクラス上の@KeySequence、多くのエンティティクラスであってもよいし、退屈することができ

あなたは実体の同じ複数を必要に応じて共通の配列

ことができる@keySequenceは、親クラスで定義されたサブテーブルの複数の共通対応する複数のクラスに実装することができる配列を

 

 

おすすめ

転載: www.cnblogs.com/jayhou/p/9825874.html