表中有自增列,java能否支持执行insert语句后,能返回自增列的值?
注意:我是初学者,我的同事说插入记录后,取自增列很麻烦,他不建议我用自增列,但我看了一下java文档,好象java支持insert数据后马上返回自增列的值. 
 请问java   是否支持我说的这个功能呢?    
 如果有这个功能,   是否对所有数据库都支持?   
 最好能给些代码,谢谢! 
------解决方案--------------------好象java支持insert数据后马上返回自增列的值. 
 学习~~
------解决方案--------------------用存储过程可以吧,但在java语句里面还要注册一个得到返回值的变量
------解决方案--------------------LZ估计不是这个意思~~ 
 LZ的意思是 "insert数据后马上返回自增列的值. ",并不是用select 实现
------解决方案--------------------JDBC 3.0可以实现。需要在语句的 execute() 方法中指定一个可选的标记,Statement.RETURN_GENERATED_KEYS和Statement.NO_GENERATED_KEYS。 
 通过Statement 的实例方法 getGeneratedKeys() 来检索 ResultSet 而获得。ResultSet 包含了每个所产生的关键字的列。参考下面代码:  
   Statement stmt = conn.createStatement();  
   stmt.executeUpdate( "INSERT INTO authors (first_name, last_name) valueS (′George′, ′Orwell′) ",Statement.RETURN_GENERATED_KEYS);  
   ResultSet rs = stmt.getGeneratedKeys();  
   if ( rs.next() ) {  
    int key = rs.getInt();  
   }      
------解决方案--------------------看你应用的jdbc包啊,网上找找有没有支持Access 的
------解决方案--------------------用批处理: 
 String sql1= "declare @id numeric(9)  "; 
 String sql2 =  "insert into table  " 
 String sql3= "select @id =@@identity "; 
 // "@con_id "可以直接用就是查询出的自增例的值. 
 String sql4= "select * from table where id =@id  ";   
 stmt.addBatch(0,sql1); 
 stmt.addBatch(1,sql2); 
 stmt.addBatch(2,sql3); 
 stmt.addBatch(3,sql4); 
 stmt.executeBatch():     
------解决方案--------------------触发器和存储过程相结合 
 触发器没有输入参数没有返回值,但是可以在触发器中调用存储过程,让存储过程返回. 
 触发器设置为在Insert并且Update后触发.