日期:2014-05-17  浏览次数:20706 次

Spring MVC开发模式,如何取得新增的id?
如题,当表A新增数据时,把刚刚新增的那条数据ID存在另一个表B中,如何让做到?在线等
spring mvc

------解决方案--------------------
A表是怎么添加数据的,B表也是怎么添加的,只不过在A表添加之后取出A表的ID添加到B表中就行了
------解决方案--------------------
插入A表时   同事insert B表
------解决方案--------------------
插入记录的时候ID是可以返回的,把返回的ID再插入B表就OK。放在一个事物里面操作
------解决方案--------------------
明白你是什么意思!
这两个操作要放到同一个事务里操作
如果是你用的sqlserver数据库,那就更好办了,里面有个 联机丛书 ,没事要多看看看:
INSERT INTO Production.Location (Name, CostRate, Availability, ModifiedDate)
VALUES ('Damaged Goods', 5, 2.5, GETDATE());
GO
SELECT @@IDENTITY AS 'Identity';
GO

先添加一个insert语句,然后用@@IDENTITY能遍历出你insert所插入的id,得到之后就好办了,直接放到B表对应的字段就解决了。

加分哦!!!
------解决方案--------------------
操作数据库这你是用什么实现的?如果是hibernate那就容易了,保存后根据你映射表的对象getID()就行了。
如果是普通的insert语句,那你写的时候加点东西就行了,例如:
stmt = conn.prepareStatement(sql,stmt.RETURN_GENERATED_KEYS );//就是这
int re = stmt.executeUpdate();
//获取插入后的ID
rs = stmt.getGeneratedKeys();
if(rs.next()){
   int id = rs.getInt(1);//把这个id存到B表就实现你的目的了
}