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();
相关文章推荐
- JAVA hashCode使用方法详解
- spring学习心得
- Java桌面程序打包成exe可执行文件
- Struts2中 出现Exception starting filter struts2 java.lang.NullPointerException
- java 二分法查找
- eclipse工程重命名后,无法生产class问题
- java中的数据存储
- java中out.print和out.write的方法
- java enum的用法
- Java(一)之概述
- JAVA IO API使用详解
- Java开发中如何选择Set、List、Map、数组
- Struts2的国际化
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
- ResultSet的getDate()、getTime()和getTimestamp()比较
- The Most Widely Used Java Libraries
- 使用 Spring 2.5 TestContext 测试框架
- 在eclipse上面搭建hbase环境
- MyBatis+Spring 基于接口编程的原理分析
- 用Java集合中的Collections.sort方法对list排序的两种方法