项目中循环需要序列生成多个值,但是获取到的值始终只有一个
处理方法以下两种方式:
1、XML处理
<select id="selectNextSEQ" resultType="java.lang.String" useCache="false" flushCache="true">
SELECT PM_HINL_S.NEXTVAL AS ID FROM DUAL
</select>
2、 标签处理
@Options(useCache=false, flushCache=Options.FlushCachePolicy.TRUE)
@Select("SELECT PM_HINL_S.NEXTVAL FROM DUAL")
String selectNextSEQ();
Mybatis的缓存机制有关,同一个SqlSession 内执行同一个SQL会从缓存中取值而非重新请求数据库
标签中使用useCache="false" flushCache="true",即可不使用mybatis的缓存,每次都能获取新值