您的位置:首页 > 编程语言 > Java开发

Spring JDBC 新增记录返回自增主键(实例)

2013-11-14 14:31 351 查看

(一)数据库部分

1.表+序列+触发器
CREATE TABLE OA_USER_FOOTPRINT (
ROW_ID                  NUMBER(10) not null,
ORG_NAME                VARCHAR2(200),
DEPT_NAME               VARCHAR2(200),
CONSTRAINT OA_USER_FOOTPRINT  PRIMARY KEY (ROW_ID)
)
TABLESPACE NEWOA_DATA;
-- Create sequence
create sequence OA_USER_SEQ
minvalue 1
maxvalue 99999999
start with 1
increment by 1
cache 20;
create or replace trigger oa_user_tri
before insert on oa_user
for each row
begin
select oa_user_seq.nextval into :new.row_id from dual;
end;

 

(二)xml配置部分

在原先的配置基础上,添加
<bean id="namedParameterJdbcTemplate"
class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="jdbcTemplate"/>
</bean>



(三)DaoImpl部分

变量set到类部分已经装配配置就不赘述了,rowId即是新增记录返回自增主键
String sql = "insert into oa_user(org_name, dept_name) values(:orgName, :deptName)";
MapSqlParameterSource parameters = new MapSqlParameterSource()
.addValue("orgName", "机构1")
.addValue("deptName", "部门1");
KeyHolder keyHolder = new GeneratedKeyHolder();
namedParameterJdbcTemplate.update(sql, parameters, keyHolder, new String[]{"row_id"});
int rowId = keyHolder.getKey().intValue();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: