1. 程式人生 > >java 獲取插入資料的自增長id

java 獲取插入資料的自增長id

/**
 * 
 * 這是插入一條資料的同時,獲取該資料的則增長列的值(該例子的自增長列是id)
 * 
 * @author LZL
 * 
 */
public class Auto_Increment {

    private static Connection conn = null;
    private static PreparedStatement stsm = null;
    private static ResultSet rs = null;

    @Test
    public void testGetAutoIncrement() {
        try {
            // 1:建立連線
            conn = Jdbcutil.getConnection();

            // 2:設定sql預編譯語句
            String sql = "INSERT INTO person (NAME,sex,age) VALUES (?,?,?);";

            // 3:執行sql預編譯語句(同時在引數中指定自增列)
            stsm = conn.prepareStatement(sql,
                    PreparedStatement.RETURN_GENERATED_KEYS);

            // 4:設定引數值
            stsm.setString(1, "王五");
            stsm.setString(2, "男");
            stsm.setInt(3, 22);

            // 5:傳送引數,執行sql
            stsm.executeUpdate();

            // 6:執行完上面的更新資料操作後,獲取自增長列
            rs = stsm.getGeneratedKeys();
            // 7:輸出該資料對應的自增長列的值
            if (rs.next()) {
                System.out.println("剛才新增的資料的自增長列值是:" + rs.getInt(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally {
        }

        Jdbcutil.close(conn, stsm, rs);

    }

}