【达梦数据库】插入自增列表插入记录后的自增ID

环境说明

jdk1.8
dm8

创建表

CREATE TABLE "SYSDBA"."PERSON"
(
"ID" INT IDENTITY(1, 1) NOT NULL,
"NAME" VARCHAR(20),
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;

方法1 使用匿名块

 String sql1 = "DECLARE id int; BEGIN insert into PERSON(name) values(?) return id into id;?:=id;END;";
			conn.setAutoCommit(false);
			CallableStatement statement=conn.prepareCall(sql1);
			statement.setString(1, "test");
			statement.registerOutParameter(2,java.sql.Types.INTEGER);
			statement.executeQuery();
			String id=statement.getString(2);
			System.out.println(id);


方法2 使用RETURN_GENERATED_KEYS


  String sql = "insert into PERSON(name) values (?) ;";
        PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

        preparedStatement.setString(1,"test");
        preparedStatement.executeUpdate();

        ResultSet generatedKeys = preparedStatement.getGeneratedKeys();
        while (generatedKeys.next()){
            System.out.println(generatedKeys.getLong(1));
        }

你可能感兴趣的:(数据库,oracle)