在mybatis里面经常遇到生成主键的问题,使用自增或者序列,保存对象后对象里面有主键值,来看看是怎么处理的:
1、在BaseStatementHandler里面有生成generateKeys,主要是执行:
protected void generateKeys(Object parameter) {
KeyGenerator keyGenerator = mappedStatement.getKeyGenerator();
ErrorContext.instance().store();
keyGenerator.processBefore(executor, mappedStatement, null, parameter);
ErrorContext.instance().recall();
}
processBefore,
表示执行前处理,对应mapper里面的selectKey中的order="BEFORE"属性,先

本文探讨了Mybatis中主键生成的处理方式,详细分析了BaseStatementHandler中的generateKeys方法以及在不同声明处理器如update中的应用。主要涉及到Jdbc3KeyGenerator和SelectKeyGenerator两种策略。
最低0.47元/天 解锁文章
1118

被折叠的 条评论
为什么被折叠?



