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

我們在進行表的記錄的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());
發佈了241 篇原創文章 · 獲贊 71 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章