Class Jdbc3KeyGenerator
- java.lang.Object
-
- org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator
-
- All Implemented Interfaces:
KeyGenerator
public class Jdbc3KeyGenerator extends java.lang.Object implements KeyGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
Jdbc3KeyGenerator.KeyAssigner
-
Field Summary
Fields Modifier and Type Field Description static Jdbc3KeyGenerator
INSTANCE
A shared instance.private static java.lang.String
MSG_TOO_MANY_KEYS
private static java.lang.String
SECOND_GENERIC_PARAM_NAME
-
Constructor Summary
Constructors Constructor Description Jdbc3KeyGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
assignKeys(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.lang.Object parameter)
private void
assignKeysToParam(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.lang.Object parameter)
private void
assignKeysToParamMap(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.util.Map<java.lang.String,?> paramMap)
private void
assignKeysToParamMapList(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.util.ArrayList<MapperMethod.ParamMap<?>> paramMapList)
private static java.util.Collection<?>
collectionize(java.lang.Object param)
private static <K,V>
java.util.Map.Entry<K,V>entry(K key, V value)
private java.util.Map.Entry<java.lang.String,Jdbc3KeyGenerator.KeyAssigner>
getAssignerForParamMap(Configuration config, java.sql.ResultSetMetaData rsmd, int columnPosition, java.util.Map<java.lang.String,?> paramMap, java.lang.String keyProperty, java.lang.String[] keyProperties, boolean omitParamName)
private java.util.Map.Entry<java.lang.String,Jdbc3KeyGenerator.KeyAssigner>
getAssignerForSingleParam(Configuration config, java.sql.ResultSetMetaData rsmd, int columnPosition, java.util.Map<java.lang.String,?> paramMap, java.lang.String keyProperty, boolean omitParamName)
private static java.lang.String
nameOfSingleParam(java.util.Map<java.lang.String,?> paramMap)
void
processAfter(Executor executor, MappedStatement ms, java.sql.Statement stmt, java.lang.Object parameter)
void
processBatch(MappedStatement ms, java.sql.Statement stmt, java.lang.Object parameter)
void
processBefore(Executor executor, MappedStatement ms, java.sql.Statement stmt, java.lang.Object parameter)
-
-
-
Field Detail
-
SECOND_GENERIC_PARAM_NAME
private static final java.lang.String SECOND_GENERIC_PARAM_NAME
- See Also:
- Constant Field Values
-
INSTANCE
public static final Jdbc3KeyGenerator INSTANCE
A shared instance.- Since:
- 3.4.3
-
MSG_TOO_MANY_KEYS
private static final java.lang.String MSG_TOO_MANY_KEYS
- See Also:
- Constant Field Values
-
-
Method Detail
-
processBefore
public void processBefore(Executor executor, MappedStatement ms, java.sql.Statement stmt, java.lang.Object parameter)
- Specified by:
processBefore
in interfaceKeyGenerator
-
processAfter
public void processAfter(Executor executor, MappedStatement ms, java.sql.Statement stmt, java.lang.Object parameter)
- Specified by:
processAfter
in interfaceKeyGenerator
-
processBatch
public void processBatch(MappedStatement ms, java.sql.Statement stmt, java.lang.Object parameter)
-
assignKeys
private void assignKeys(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.lang.Object parameter) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
assignKeysToParam
private void assignKeysToParam(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.lang.Object parameter) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
assignKeysToParamMapList
private void assignKeysToParamMapList(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.util.ArrayList<MapperMethod.ParamMap<?>> paramMapList) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
assignKeysToParamMap
private void assignKeysToParamMap(Configuration configuration, java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] keyProperties, java.util.Map<java.lang.String,?> paramMap) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getAssignerForParamMap
private java.util.Map.Entry<java.lang.String,Jdbc3KeyGenerator.KeyAssigner> getAssignerForParamMap(Configuration config, java.sql.ResultSetMetaData rsmd, int columnPosition, java.util.Map<java.lang.String,?> paramMap, java.lang.String keyProperty, java.lang.String[] keyProperties, boolean omitParamName)
-
getAssignerForSingleParam
private java.util.Map.Entry<java.lang.String,Jdbc3KeyGenerator.KeyAssigner> getAssignerForSingleParam(Configuration config, java.sql.ResultSetMetaData rsmd, int columnPosition, java.util.Map<java.lang.String,?> paramMap, java.lang.String keyProperty, boolean omitParamName)
-
nameOfSingleParam
private static java.lang.String nameOfSingleParam(java.util.Map<java.lang.String,?> paramMap)
-
collectionize
private static java.util.Collection<?> collectionize(java.lang.Object param)
-
entry
private static <K,V> java.util.Map.Entry<K,V> entry(K key, V value)
-
-