spring的JDBC框架中自增键的问题与cacheSize关系

本文探讨了在Spring的JDBC框架中,使用MySQLMaxValueIncrementer处理自增键时,cacheSize参数如何影响插入操作。当cacheSize设为1时,每次插入的值为当前列的最后一个值;设为0或负数,nextId会持续递增,不会与maxId相同;设为大于1的数,会在递增cacheSize次数后更新列值并返回新的maxId。
摘要由CSDN通过智能技术生成
public int nextIntValue() throws DataAccessException {
		return (int) getNextKey();
}

nextIntValue将调用getNextKey获取自增int值

@Override

         protected synchronized long getNextKey() throws DataAccessException{

                   if(this.maxId == this.nextId) {

                            /*

                            *Need to use straight JDBC code because we need to make sure that the insert andselect

                            *are performed on the same connection (otherwise we can't be sure thatlast_insert_id()

                            *returned the correct value)

                            */

                            Connection con = DataSourceUtils.getConnection(getDataSource());

                            Statement stmt = null;

                            try{

                                     stmt= con.createStatement();

                     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值