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 SummaryFields inherited from class AbstractDataFieldMaxValueIncrementerpaddingLength
- 
Constructor SummaryConstructorsConstructorDescriptionDefault constructor for bean property style usage.MySQLIdentityColumnMaxValueIncrementer(DataSource dataSource, String incrementerName, String columnName) Convenience constructor.
- 
Method SummaryMethods inherited from class AbstractIdentityColumnMaxValueIncrementergetDeleteStatement, getNextKey, isDeleteSpecificValues, setDeleteSpecificValuesMethods inherited from class AbstractColumnMaxValueIncrementerafterPropertiesSet, getCacheSize, getColumnName, setCacheSize, setColumnNameMethods inherited from class AbstractDataFieldMaxValueIncrementergetDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength
- 
Constructor Details- 
MySQLIdentityColumnMaxValueIncrementerpublic MySQLIdentityColumnMaxValueIncrementer()Default constructor for bean property style usage.- See Also:
 
- 
MySQLIdentityColumnMaxValueIncrementerpublic MySQLIdentityColumnMaxValueIncrementer(DataSource dataSource, String incrementerName, String columnName) Convenience constructor.- Parameters:
- dataSource- the DataSource to use
- incrementerName- the name of the sequence table to use
- columnName- the name of the column in the sequence table to use
 
 
- 
- 
Method Details- 
getIncrementStatementDescription copied from class:AbstractIdentityColumnMaxValueIncrementerStatement to use to increment the "sequence" value.- Specified by:
- getIncrementStatementin class- AbstractIdentityColumnMaxValueIncrementer
- Returns:
- the SQL statement to use
 
- 
getIdentityStatementDescription copied from class:AbstractIdentityColumnMaxValueIncrementerStatement to use to obtain the current identity value.- Specified by:
- getIdentityStatementin class- AbstractIdentityColumnMaxValueIncrementer
- Returns:
- the SQL statement to use
 
 
-