#spring #spring-mvc
#spring #spring-mvc
Вопрос:
Как получить доступ к последовательности db2 в Spring? Необходимо получить доступ к последовательности, чтобы сгенерировать идентификатор и передать его в инструкцию insert с помощью spring, используя JdbcTemplate.
Ответ №1:
Во-первых, вы должны определить компонент, который обрабатывает последовательность. Что-то вроде этого:
<bean id="incrementer" class="org.springframework.jdbc.support.incrementer.DB2SequenceMaxValueIncrementer">
<property name="dataSource" ref="dataSource" />
<property name="incrementerName" value="YOUR_SEQUENCE_NAME" />
</bean>
Затем вам нужно подключить этот компонент к компоненту, который собирается его вызвать. например:
@Autowired
private DataFieldMaxValueIncrementer incrementer;
Наконец, вы используете компонент sequence для получения значения:
Long identifier = incrementer.nextLongValue();
Ответ №2:
Вы пробовали queryForInt() с SQL select sequence.nextval from dual
?
http://static.springsource.org/spring/docs/2.5.6/api/org/springframework/jdbc/core/simple/SimpleJdbcTemplate.html#queryForInt(java.lang.Строка, java.lang.Объект …)