org.springframework.jdbc.support.incrementer
Class MySQLMaxValueIncrementer
java.lang.Object
   org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
       org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
           org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer
org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer
- All Implemented Interfaces: 
- InitializingBean, DataFieldMaxValueIncrementer
- 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.
- Author:
- Jean-Pierre Pawlak, Thomas Risberg, Juergen Hoeller
 
 
 
| Method Summary | 
| protected  long | getNextKey()Determine the next key to use, as a long.
 | 
 
 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
MySQLMaxValueIncrementer
public MySQLMaxValueIncrementer()
- Default constructor for bean property style usage.
 
- See Also:
- AbstractDataFieldMaxValueIncrementer.setDataSource(javax.sql.DataSource),- AbstractDataFieldMaxValueIncrementer.setIncrementerName(java.lang.String),- AbstractColumnMaxValueIncrementer.setColumnName(java.lang.String)
 
MySQLMaxValueIncrementer
public MySQLMaxValueIncrementer(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
 
getNextKey
protected long getNextKey()
                   throws DataAccessException
- Description copied from class: AbstractDataFieldMaxValueIncrementer
- Determine the next key to use, as a long.
 
- 
- Specified by:
- getNextKeyin class- AbstractDataFieldMaxValueIncrementer
 
- 
- Returns:
- the key to use as a long. It will eventually be converted later
 in another format by the public concrete methods of this class.
- Throws:
- DataAccessException
 
Copyright © 2002-2008 The Spring Framework.