2017-08-11 80 views
0

我有一个EMPLOYEE表有4个字段; IDNAME,AGE,SALARYID是唯一的,并自动递增。jdbcTemplate.update自动递增和唯一ID字段

下面是在表中插入一行的代码,使用Spring的JDBCTemplate。请建议,我如何自动增加ID字段。

String sql = "insert into employee values (?,?,?,?)" 
jdbcTemplate.update(sql, ID, bean.getName(), bean.getAge(), bean.getSalary()) 
+0

请问你的域名看起来像? –

+0

分享您的员工课程代码 –

+0

'员工'是一个表格,而不是一个班级。 –

回答

1

我明白了,你标记你的问题Oracle,使用Oracle sequence然后。

String sql = "insert into Employee values (id_seq.nextval, ?, ?, ?)"; 
jdbcTemplate.update(sql, bean.getName(), bean.getAge(), bean.getSalary()); 

参考文献:How to create Sequence in Oracle

0

只是下面的代码添加到您的域名: 编号:http://docs.spring.io/spring/docs/2.5.x/reference/jdbc.html#jdbc-auto-genereted-keys

import org.springframework.jdbc.support.GeneratedKeyHolder; 
import org.springframework.jdbc.support.KeyHolder; 

final String INSERT_SQL = "insert into my_test (name) values(?)"; 
       final String name = "Rob"; 
       KeyHolder keyHolder = new GeneratedKeyHolder(); 
       jdbcTemplate.update(
         new PreparedStatementCreator() { 
          public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { 
           PreparedStatement ps = 
             connection.prepareStatement(INSERT_SQL, new String[] {"id"}); 
           ps.setString(1, name); 
           return ps; 
          } 
         }, 
         keyHolder); 
+0

它说JDBCTemplate。她似乎并没有使用JPA或任何其他ORM。 –