yp0123456789 2011-02-18 10:39
浏览 985
已采纳

请问使用JdbcTemplate新增数据如何获得改数据的自增id?

请问使用JdbcTemplate做insert操作的时候。该表的主键为自增。我需要改条数据的id作为外键进行其他操作。用update的方法好像不能返回插入的对象。请问如何获得改id。
ps:请别说hibernate与ibatis。

  • 写回答

1条回答 默认 最新

  • remotejsky 2011-02-18 11:05
    关注

    我们公司采取的是首先从数据库查询后再保存,这里有一个顶级的JDBCDaoSupport 提供很多常用方法:
    [code="java"]
    protected Long getSequenceLongValue(String sequenceName) {
    String sql = "select " + sequenceName + ".nextval from dual";
    if (logger.isDebugEnabled()) {
    logger.debug("读取Sequence: sql = " + sql);
    }
    Long value = getJdbcTemplate().queryForLong(sql);
    if (logger.isDebugEnabled()) {
    logger.debug("新生成的id = " + value);
    }
    return value;
    }
    [/code]

    或者试一试这个直接的:http://www.blogjava.net/junky/archive/2007/07/11/129604.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?