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プロファイル
@Autowired prvate Data FieldMaxValue Incrementer unit IniIncre;
//マスターシーケンスの取得
long gid=unit Incre.next LongValue()
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()