Como foi deixado como desafio, tentei fazer e fiz do seguinte modo:
Extraí a execução do código inteiro, assim só preciso instanciar o novo objeto e passar os valores.
Espero feedback.
Produto produto = new Produto ("Lixadeira", "Philco", 184.90);
Produto produto2 = new Produto ("Sanduicheira", "Mondial", 120.90);
insercaoProduto(conexao, produto);
insercaoProduto(conexao, produto2);
System.out.println(produto);
System.out.println(produto2);
}
}
private static void insercaoProduto(Connection conexao, Produto produto) throws SQLException {
try (PreparedStatement pst = conexao.prepareStatement(
"INSERT INTO PRODUTO (NOME, DESCRICAO, PRECO) "
+ "VALUES (?, ?, ?)", Statement.RETURN_GENERATED_KEYS)) {
pst.setString(1, produto.getNome());
pst.setString(2, produto.getDescricao());
pst.setDouble(3, produto.getPreco());
pst.execute();
try (ResultSet rs = pst.getGeneratedKeys()) {
while (rs.next()) {
produto.setCodigo_produto(rs.getInt(1));
}
}
}
}
E essa foi a saída: