Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre o uso do try com recurso na hora de recuperar conexão

Já que está usando o Pool de conexões c3p0. Porque usar o try com recurso na hora de pegar um conexão? É necessário fechar a conexão?

public class TestaInsercaoComProduto {

    public static void main(String[] args) throws SQLException {
        Produto comoda = new Produto("Cômoda", "Cômoda Vertical");

        try(Connection con = new ConnectionFactory().recuperarConexao()) {
            String sql = "INSERT INTO produto(nome, descricao) VALUES (?, ?)";

            try(PreparedStatement pstm = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)){
                pstm.setString(1, comoda.getNome());
                pstm.setString(2, comoda.getDescricao());

                pstm.execute();

                try (ResultSet rst = pstm.getGeneratedKeys()){
                    while(rst.next()) {
                        comoda.setId(rst.getInt(1));                        
                    }
                }
            }            
        }

        System.out.println(comoda);
    }

}
1 resposta
solução!

Francisco, boa tarde. A conexão não necessariamente será fechada no momento em que é devolvida para pool, mas sim no momento em que realmente não precise ser mais usada. Assim a própria aplicação trata de fechar, sem depender que o desenvolvedor o faça.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software