public class MySQLMaxValueIncrementer extends AbstractColumnMaxValueIncrementer
DataFieldMaxValueIncrementer that increments the maximum value of a given MySQL table
 with the equivalent of an auto-increment column. Note: If you use this class, your MySQL
 key column should NOT be auto-increment, as the sequence table does the job.
 The sequence is kept in a table; there should be one sequence table per table that needs an auto-generated key. The table type of the sequence table should be MyISAM so the sequences are allocated without regard to any transactions that might be in progress.
Example:
create table tab (id int unsigned not null primary key, text varchar(100)); create table tab_sequence (value int not null) type=MYISAM; insert into tab_sequence values(0);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.
paddingLength| Constructor and Description | 
|---|
| MySQLMaxValueIncrementer()Default constructor for bean property style usage. | 
| MySQLMaxValueIncrementer(DataSource dataSource,
                        String incrementerName,
                        String columnName)Convenience constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected long | getNextKey()Determine the next key to use, as a long. | 
afterPropertiesSet, getCacheSize, getColumnName, setCacheSize, setColumnNamegetDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLengthpublic MySQLMaxValueIncrementer()
public MySQLMaxValueIncrementer(DataSource dataSource, String incrementerName, String columnName)
dataSource - the DataSource to useincrementerName - the name of the sequence/table to usecolumnName - the name of the column in the sequence table to useprotected long getNextKey()
                   throws DataAccessException
AbstractDataFieldMaxValueIncrementergetNextKey in class AbstractDataFieldMaxValueIncrementerDataAccessException