我要向oracle数据库插入一条数据,id是通过序列自动增长的,我要得到这个我刚插入的Id呢 
我知道怎么得到当前序列,但是问题在与    :::::这个网站很可能多人同时插入数据,你这个时候得到的Id还是你当前的Id吗 ?

解决方案 »

  1.   

    Statement中有一个getGeneratedKeys方法
      

  2.   

    jdbc   -> 看此方法java.sql.Connection.prepareStatement(java.lang.String, int)的API文档ibaits -> <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product">
    <selectKey resultClass="int" keyProperty="ID">
    <![CDATA[
    SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL
    ]]>
    </selectKey>

    <![CDATA[
    INSERT INTO PRODUCT (PRD_ID,PRD_DESCRIPTION)
    VALUES (#id#,#description#)
    ]]
    </insert>
    hibernate  -> 没有问题JdbcTemplate -> 参考Spring的相关文档