1、首先,在插入语甜入艺阝句后添加一条查询,利用resultset来得到id号,psmt = con.prepareStatement ("insert into orders (receiver,address,telephone,total,detailnum,userid)values(?,?,?,?,?,?);select@@identity");psmt.setString(1, order.getReceiver()); …… results = psmt.executeQuery(); if(results.next()) { num = results.getInt(1); }

3、然后,调用存储过程来实现,当然这种情况下,插入对象的属性不宜过多,否则存储过程的输入参数太多。在存储过程中,将id作为输出参数返回,CallableStatement proc = conn.prepareCall("{call proc_insert(?,?,?)}"); proc.setString(1, cardname);proc.setInt(2, money); proc.registerOutParameter(3, Types.INTEGER); proc.execute(); num = proc.getInt(3)

5、然后,IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。
