`

spring主键自增

阅读更多

mysql主键支持自增,但如果数据量太大的话,貌似不怎么好使了,这时可以使用spring设置主键自增

如下:

spring配置文件中添加

<bean id="ipoIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">

      <property name="dataSource">

          <ref local="dataSource"/>

      </property>

      <property name="incrementerName">

            <!--表名 -->

            <value>sequence</value>

      </property>

      <property name="columnName">

            <!--字段名字 -->

            <value>a_sequence</value>

      </property>

      <!--一次从数据库中取多少个值 -->

      <property name="cacheSize" value="100"/> 

</bean>

在spring的bean中添加:

<bean id="AddAction" class="com.AddAction" singleton="false">

      <property name="ipoIncrementer">

             <ref bean="ipoIncrementer"/>

      </property>

</bean>

接下来:

       private DataFieldMaxValueIncrementer ipoIncrementer;

       String ipoId = ipoIncrementer.nextStringValue();

这样就可以取得id值了

注意别忘了写 ipoIncrementer的set方法哦

 

分享到:
评论
1 楼 jiaohuizhe 2013-03-25  
这样还不如直接通过Hibernate的hilo的方式来创建主键,如果数据量非常大的话建议还是改用UUID的方式来创建主键。

相关推荐

Global site tag (gtag.js) - Google Analytics