您的位置:首页 > 数据库 > Oracle

spring JdbcTemplate下访问Oracle数据库插入数据时返回序列增长的主键

2017-03-22 10:34 896 查看
final String sql = "insert into test(v_id,c_id,v_name) values (test_seq.nextval,:cName,:vName)";
//用来封装参数的实体,这个没变要和数据库中表对应
CnameAndVname entity=new CnameAndVname();
entity.setcName(cName);
entity.setvName(vName);
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
SqlParameterSource paramSource = new BeanPropertySqlParameterSource(entity);
GeneratedKeyHolder generatedKeyHolder = new GeneratedKeyHolder();
namedParameterJdbcTemplate.update(sql, paramSource, generatedKeyHolder, new String[]{"V_ID"});//V_ID为返回的主键
Number number = generatedKeyHolder.getKey();

// 返回的主键
Long vid = number.longValue();
return  vid;
自己尝试了,没问题,故推荐给大家,希望能帮助到大家


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息