Class MySQLIdentityColumnMaxValueIncrementer
java.lang.Object
org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractIdentityColumnMaxValueIncrementer
org.springframework.jdbc.support.incrementer.MySQLIdentityColumnMaxValueIncrementer
- All Implemented Interfaces:
 InitializingBean,DataFieldMaxValueIncrementer
public class MySQLIdentityColumnMaxValueIncrementer
extends AbstractIdentityColumnMaxValueIncrementer
DataFieldMaxValueIncrementer that increments the maximum counter value of an
 auto-increment column of a given MySQL table.
 The sequence is kept in a table. The storage engine used by the sequence table must be InnoDB in MySQL 8.0 or later since the current maximum auto-increment counter is required to be persisted across restarts of the database server.
Example:
create table tab_sequence (`id` bigint unsigned primary key auto_increment);
If cacheSize is set, the intermediate values are served without querying the
 database. If the server or your application is stopped or crashes or a transaction
 is rolled back, the unused values will never be served. The maximum hole size in
 numbering is consequently the value of cacheSize.
- Since:
 - 6.1.2
 - Author:
 - Henning Pƶttker
 
- 
Field Summary
Fields inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
paddingLength - 
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor for bean property style usage.MySQLIdentityColumnMaxValueIncrementer(DataSource dataSource, String incrementerName, String columnName) Convenience constructor. - 
Method Summary
Methods inherited from class org.springframework.jdbc.support.incrementer.AbstractIdentityColumnMaxValueIncrementer
getDeleteStatement, getNextKey, isDeleteSpecificValues, setDeleteSpecificValuesMethods inherited from class org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
afterPropertiesSet, getCacheSize, getColumnName, setCacheSize, setColumnNameMethods inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
getDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength 
- 
Constructor Details
- 
MySQLIdentityColumnMaxValueIncrementer
public MySQLIdentityColumnMaxValueIncrementer()Default constructor for bean property style usage. - 
MySQLIdentityColumnMaxValueIncrementer
public MySQLIdentityColumnMaxValueIncrementer(DataSource dataSource, String incrementerName, String columnName) Convenience constructor.- Parameters:
 dataSource- the DataSource to useincrementerName- the name of the sequence table to usecolumnName- the name of the column in the sequence table to use
 
 - 
 - 
Method Details
- 
getIncrementStatement
Description copied from class:AbstractIdentityColumnMaxValueIncrementerStatement to use to increment the "sequence" value.- Specified by:
 getIncrementStatementin classAbstractIdentityColumnMaxValueIncrementer- Returns:
 - the SQL statement to use
 
 - 
getIdentityStatement
Description copied from class:AbstractIdentityColumnMaxValueIncrementerStatement to use to obtain the current identity value.- Specified by:
 getIdentityStatementin classAbstractIdentityColumnMaxValueIncrementer- Returns:
 - the SQL statement to use
 
 
 -