Spring JdbcTemplate访问Oracle,插入数据时返回序列自增id

Spring JdbcTemplate访问Oracle,插入数据时返回序列自增id

完全不需要创建实体类

来源:https://stackoverflow.com/questions/11450996/is-there-a-way-to-extract-primary-keyor-rowid-using-namedparameterjdbctemplate

我的代码:

final String INSERT_QUERY = "INSERT INTO arc_sjjc_tj (tjid, kssj, jcr) VALUES(seq_arc_sjjc_tj.NEXTVAL, sysdate, :param1)";
MapSqlParameterSource parameters = new MapSqlParameterSource().addValue("param1", userid) ;
final KeyHolder holder = new GeneratedKeyHolder();
DataBaseHelper.getNamedParameterJdbcTemplate().update( INSERT_QUERY, parameters, holder, new String[] {"tjid"} );
Number generatedId = holder.getKey();
return generatedId.intValue();

其中 tjid 就是自增的id字段名

你可能感兴趣的:(Java,JdbcTemplate,序列,自增,oracle,keyholder)