public class Demo
{ public static void main(String[] args) { try { String sql="insert into person values(?,?)";Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=pubs","sa","");//需要增加一个Statement.RETURN_GENERATED_KEYS这样的参数java.sql.PreparedStatement p=conn.PreparedStatement(sql,Statement.RETURN_GENERATED_KEYS);p.setObject(1, "zengguofeef");//p.setObject(2, new java.sql.Date(System.currentTimeMillis()));//必须这样设置,System.currentTimeMillis()表示当前系统时间的毫秒数,Timestamp()方法会根据这个毫秒数设置成当前时间p.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));p.executeUpdate();//通过这个方法获取getGeneratedKeys();ResultSet rs=p.getGeneratedKeys();rs.next();int num=rs.getInt(1);System.out.println("自动增长列为:"+num);} catch (ClassNotFoundException e) { e.printStackTrace();} catch (SQLException e) { e.printStackTrace();}}public static void main(String[] args){ //在sql语句后面加上一个select scope_identity()String sql="insert into person values(?,?) select scope_identity()";try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs","sa","");java.sql.PreparedStatement p=conn.prepareStatement(sql);p.setObject(1, "zengguofeef");p.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));//这里使用的是executeQuery()方法,而不是executeUpdate()ResultSet rs=p.executeQuery();rs.next();int num=rs.getInt(1);System.out.println("自动增长列为:"+num);conn.close();} catch (ClassNotFoundException e) { e.printStackTrace();} catch (SQLException e) { e.printStackTrace();}}}