(一)数据库部分
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();
Spring JDBC 新增记录返回自增主键(实例)
最新推荐文章于 2023-03-31 15:20:21 发布