Java 如何在使用SpringJDBCTemplates将数据插入Oracle数据库后获取ID

Java 如何在使用SpringJDBCTemplates将数据插入Oracle数据库后获取ID,java,spring,oracle,spring-jdbc,jdbctemplate,Java,Spring,Oracle,Spring Jdbc,Jdbctemplate,我在项目中使用SpringJDBCTemplates,我想将数据插入到Oracle数据库中。在插入数据之后,我需要这个插入值的ID(sr\u no),以便使用它 public int addData(News newsAdd) { int flag = 0; String url=""; String cat = newsAdd.getNewsCat(); String language = newsAdd.getNewsLang(); // Quer

我在项目中使用SpringJDBCTemplates,我想将数据插入到Oracle数据库中。在插入数据之后,我需要这个插入值的ID(
sr\u no
),以便使用它

public int addData(News newsAdd) {
    int flag = 0;

    String url="";
    String cat = newsAdd.getNewsCat();
    String language = newsAdd.getNewsLang();

    // QueryConstant.newsArbian ="INSERT INTO INTERNET_NEWS(SR_NO,TITLE,NEWS_STATUS,HOME_DISPLAY,HOME_DESC,MAIN_DESC,NEWS_DATE,NEWS_CAT,IMGNEWS_URL) VALUES(seq_news.nextval,?,?,?,?,?,?,?,?)";

    flag = getJdbcTemplate().update(
        QueryConstant.newsArbian,
        new Object[] {
            newsAdd.getTitle(),
            newsAdd.getStatus(),
            newsAdd.getNewsHomePage(),
            newsAdd.getNewsDesHom(),
            newsAdd.getNewsDesMan(),
            newsAdd.getDate(),
            newsAdd.getNewsCat(),
            url
        }
    );

    return flag;
}
现在,表中有一个字段
sru no
,它是
自动递增的
。我想获取插入数据的
sr_no
值,并将该值传递给flag变量


如何完成此任务?

您可以使用
KeyHolder
类来完成此任务。
请查看此链接上的“使用SimpleJdbcInsert检索自动生成的密钥”一节
它将返回上次插入记录的自动生成ID。

重复?这回答了你的问题吗?