请问使用JdbcTemplate新增数据如何获得改数据的自增id?

问题描述

请问使用JdbcTemplate做insert操作的时候。该表的主键为自增。我需要改条数据的id作为外键进行其他操作。用update的方法好像不能返回插入的对象。请问如何获得改id。ps:请别说hibernate与ibatis。 问题补充:remoteJavaSky 写道

解决方案

我们公司采取的是首先从数据库查询后再保存,这里有一个顶级的JDBCDaoSupport 提供很多常用方法:protected Long getSequenceLongValue(String sequenceName) {String sql = "select " + sequenceName + ".nextval from dual";if (logger.isDebugEnabled()) {logger.debug("读取Sequence: sql = " + sql);}Long value = getJdbcTemplate().queryForLong(sql);if (logger.isDebugEnabled()) {logger.debug("新生成的id = " + value);}return value;}或者试一试这个直接的:http://www.blogjava.net/junky/archive/2007/07/11/129604.html

时间: 2024-10-25 20:38:22

请问使用JdbcTemplate新增数据如何获得改数据的自增id?的相关文章

spring-mybatis 批量新增时,怎么批量返回自增ID,数据库是mysql

问题描述 mybatis 批量新增时,怎么批量返回自增ID,数据库是mysql 各位大侠你们好..如题..求解,下面是DAO和SQL: spring Dao的方法定义: public List saveCatalogList(@Param("catalist") List catalist);? mybatis的批量插入SQL: insert into CATALOG (Marc_Type,Catalog_State,Doc_Type,LANG_CODE,Country_Code,Ca

sql优化-请问这里的update sql怎么优化,数据比较多的时候

问题描述 请问这里的update sql怎么优化,数据比较多的时候 update cbs_contractlife set back_date =to_date('2014-11-17','yyyy-mm-dd') where policy_code ='6663131080120140003518' and status ='1'; update cbs_receiptinfo set back_date = to_date('2015-10-13','yyyy-mm-dd') where p

请问一下大于long型的两个数据怎么相加啊

问题描述 请问一下大于long型的两个数据怎么相加啊 解决方案 解决方案二:这是我写的一个大整数减法的class.如果实现加法,只须对代码末尾的:sub=a.subtract(b); 不要调用subtract方法,而调用add方法即可.即:sub=a.add(b); /************************************************************************2736大整数减法Description求2个大的正整数相减的差Input第1行是测试

solidworks二次开发-04-修改数据

数据 solidworks二次开发-04-修改数据 上次已经可以访问特征的各参数了,今天我们来修改它: 要修改前面的步骤不能少,当我们已经可以读取一些特征时,我们就可以给他设定一些值.当然有时需要调用特定的参数.solidworks是ole和com的,所以要习惯这样. 在修改完特征后需要调用函数modifydefinition()来实现变化. 我们给一个例子,这个例子比前面的都要全面,它有很好的容错引导机制,可以直接拿来成为一个稳定的宏程序. This example doubles the l

请问有没有人试过将SQL SERVER数据导入EXCEL2007文件?

问题描述 EXCEL2003的工作表只支持6W多行数据,想导入EXCEL2007,请问有人试过吗?具体应该如何操作? 解决方案 解决方案二:用ACCESS1:新建一个ACCESS库,打开后选择菜单"文件-〉外部数据读取-〉导入数据/表联结"选择表链接可以直接从ACCESS中修改数据库的文件2:选择后,在弹出的文件选择菜单中,选"文件种类"中选择"OdbcDataBase"3:之后会弹出"数据源选择界面"选第2个tab页签&qu

mybatis-springmvc mybaties整合开发新增问题(增强改查)

问题描述 springmvc mybaties整合开发新增问题(增强改查) 由于id为自增长,所以点击添加跳转添加页面中,编号文本框为只读,但是需要传出新增的id!该怎么查出当前新增id ?1 解决方案 1.在Mybatis Mapper文件中添加属性"useGeneratedKeys"和"keyProperty",其中keyProperty是Java对象的属性名,而不是表格的字段名. <insert id="insert" paramet

JdbcTemplate插入一条数据到Oracle数据库并返回自增长ID

问题描述 我的需求就是需要循环插入一组数据,因为数据库是按照自增长ID关联的,所以每插入一条数据,都要返回自增长的ID,用来设置关联关系,我用JdbcTemplate可以实现一组数据的插入并返回ID,但是循环两次以上就出错了:org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;uncategorizedSQLExceptionforSQL[insertintoT_METADATA_ABSTRAC

pche怎么做二级域名-请问一下在Linux服务器下面Apche改怎么怎么做二级域名

问题描述 请问一下在Linux服务器下面Apche改怎么怎么做二级域名 Apche下面怎么做二级域名?那么在httpd-vhosts.conf文件下又改如何写呢 解决方案 http://www.php100.com/html/webkaifa/apache/2011/0906/9008.htmlhttp://blog.csdn.net/jimkidgb/article/details/6879413http://www.jb51.net/article/21022.htm

ab表数据 插入c数据-特急!触发器中当新增1个表中数据,查询相关数据,把查询出来的数据插入另外一张表

问题描述 特急!触发器中当新增1个表中数据,查询相关数据,把查询出来的数据插入另外一张表 使用触发器,根据条件查询出a和b表中数据,插入到c表. create table a ( fid VARCHAR2(44), fname_l2 VARCHAR2(255),//名称 b_fid VARCHAR2(44),//b表的id fnumber NVARCHAR2(80) ); create table b ( fid VARCHAR2(44), fname_l2 VARCHAR2(255),//名称