Springでデータベーステーブルのメインキーシーケンスを取得します.

3783 ワード

プログラム開発では、データベーステーブルを書く操作がよくあります.データテーブルには常にメインキーの自増シーケンスが付いています.springでは対応するクラスを提供しています. Data FieldMaxValue Incrementer.
DataFieldMaxValue Incrementerインターフェースは、次のキーの値を取る3つの方法を定義しています.int nextIntValue():次のキーの値を取得し、プライマリキーのデータタイプはintです.long next LongValue():次のキーの値を取得し、メインキーのデータタイプはlongです.String next StrigValue():次の主キー値を取得し、主キーデータタイプはStringである.
 spring工程のspring-dao.xmlに配置を追加すると以下のようになります.
Oracleプロファイル
<bean id="incre" class="org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer">
    <property name="incrementerName" value="seq_post_id"/><property name="dataSource" ref="dataSource"/>bean> 
MySQL設定
<bean id="incre" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
    <property name="incrementerName" value="t_post_id"/><property name="columnName" value="sequence_id"/><property name="cacheSize" value="10"/><property name="dataSource" ref="dataSource"/>
bean> 
コードで使う時は以下の通りです.
@Autowired prvate Data FieldMaxValue Incrementer unit IniIncre;
//マスターシーケンスの取得
long gid=unit Incre.next LongValue()