Kam*_*iya 5 java database oracle spring jdbctemplate
数据库: Oracle
我有一个表,其中有10列,我想要插入行时序列下一个值,并使用插入的序列号.
现在我已经搜索并发现Spring的KeyHolder很有用,但仅限于少于8个字段,所以我不能使用它.
如何启动"select MySequence.nextval from dual"查询并获取序列jdbctemplate(NamedParameterJDBCTemplate)?
是获得插入序列值的其他方法吗?
小智 7
您可以通过使用 JdbcTemplate 来实现此目的,如下所示:
final SqlRowSet sqlRowSet = jdbcTemplate.queryForRowSet(NEXT_VALUE_QUERY);
sqlRowSet.next();// mandatory to move the cursor
sqlRowSet.getLong(1);// the value of the nextval
Run Code Online (Sandbox Code Playgroud)
使用a jdbctemplate可以只将序列生成器作为一个值提及,例如
jdbcTemplate.update("INSERT INTO TABLE (id, data) VALUES (MySequence.nextval, ?)", new Object[] { data });
Run Code Online (Sandbox Code Playgroud)
关于序列生成的注释:对于Oracle 12c之前的版本,您应该有一个触发器,它将为您增加序列。从12c开始,您可以使用自动递增功能。
| 归档时间: |
|
| 查看次数: |
7659 次 |
| 最近记录: |