Spring jdbcTemplate 擷取insert後主鍵自增的表的主鍵id

來源:互聯網
上載者:User

我們在進行表的記錄的insert 的操作之後。有這樣的需求會需要得到insert 那條記錄的主鍵id。並且該表的主鍵id是主鍵自增的。
如果使用MySQL的max函數是不可以的。因為此時在多個使用者的情況下。資料表中其他使用者也插入了資料。所以資料可能是不準確的。

上次筆者在純的jdbc的情況下可以拿到該主鍵自增的id。spring的jdbctemplate只是對jdbc做了一個封裝。也是可以做到的。而且代碼簡化地更加厲害。
下面示範下代碼的片段。

        KeyHolder keyHolder = new GeneratedKeyHolder();        PreparedStatementCreator preparedStatementCreator = con -> {            PreparedStatement ps = con.prepareStatement("INSERT  INTO order_worker_quote_detail (work_quote_id, item_id, quantity, remarks) VALUES ('1','2','120','測試費用名')", Statement.RETURN_GENERATED_KEYS);            return ps;        };        jdbcTemplate.update(preparedStatementCreator, keyHolder);        System.out.println("看下能否拿到最終的自增的id-------------->" + keyHolder.getKey().longValue());

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.