window.ENTITIES={'/api/snippets/java/spring%20boot%20get%20insert%20row%20id%20using%20jdbctemplate':[{"result":true,"message":null,"batch":{"type":"java","name":"spring boot get insert row id using jdbctemplate","items":[{"id":"Dk7JlD","type":"java","name":"Spring Boot get insert row id using JDBCTemplate","content":"package com.example;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.jdbc.core.JdbcTemplate;\nimport org.springframework.jdbc.core.PreparedStatementCreator;\nimport org.springframework.jdbc.support.GeneratedKeyHolder;\nimport org.springframework.jdbc.support.KeyHolder;\nimport org.springframework.stereotype.Service;\nimport org.springframework.transaction.annotation.Transactional;\n\nimport java.sql.SQLException;\nimport java.sql.Statement;\n\n@Service\npublic class JdbcService {\n\n @Autowired\n private final JdbcTemplate jdbcTemplate;\n\n @Transactional\n public long insert(String sqlQuery) throws SQLException {\n KeyHolder keyHolder = new GeneratedKeyHolder();\n int insertsCount = this.jdbcTemplate.update(c -> c.prepareStatement(sqlQuery, Statement.RETURN_GENERATED_KEYS), keyHolder);\n if (insertsCount == 1) {\n Number assignedKey = keyHolder.getKey();\n if (assignedKey == null) {\n throw new SQLException(\"Row id getting error.\");\n }\n return assignedKey.longValue(); // returns inserted row id\n }\n throw new SQLException(\"Expected one inserted row.\");\n }\n}","source":"","author":{"id":"Jaj9gD","name":"WGates","avatar":"1629030496567__Jaj9gD__w40px_h40px.png","points":412,"role":"BASIC"},"creationTime":1637588525000,"updateTime":1675629534000,"removalTime":null},{"id":"jPmKg1","type":"java","name":"Spring Boot get insert row id using JDBCTemplate","content":"// import org.springframework.jdbc.core.JdbcTemplate;\n// import org.springframework.jdbc.support.GeneratedKeyHolder;\n// import org.springframework.jdbc.support.KeyHolder;\n// import java.sql.Statement;\n\nString sqlQuery = \"INSERT INTO `my_table` (`column_1`, `column_2`) VALUES ('aaa', 'bbb')\";\n\nKeyHolder keyHolder = new GeneratedKeyHolder();\nint insertsCount = this.jdbcTemplate.update(c -> c.prepareStatement(sqlQuery, Statement.RETURN_GENERATED_KEYS), keyHolder);\n\nif (insertsCount == 1) {\n Number assignedKey = keyHolder.getKey();\n long rowId = assignedKey.longValue();\n}","source":"","author":{"id":"507Oq0","name":"Lia-Perez","avatar":"1629141409028__507Oq0__w40px_h40px.jpg","points":565,"role":"BASIC"},"creationTime":1637588641000,"updateTime":1637588783000,"removalTime":null}]}}]};