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は、親クラスで定義されたサブテーブルの複数の共通対応する複数のクラスに実装することができる配列を