Uma dúvida, para garantir que o statement
seja fechado não era melhor colocar outro try
após o create
não? Por exemplo, se caso o statement.executeQuery
quebre, ele vai pular para a linha de baixo e da um close
? Pensei em fazer assim:
fun getJogos(): List<Jogo> {
val listaJogos = mutableListOf<Jogo>()
val conexao = Banco.obterConexao()
if (conexao != null){
try {
val statement = conexao.createStatement()
try {
val resultado = statement.executeQuery("SELECT * FROM JOGOS")
while(resultado.next()){
val id = resultado.getInt("id")
val titulo = resultado.getString("titulo")
val capa = resultado.getString("capa")
val descricao = resultado.getString("descricao")
val preco = resultado.getDouble("preco")
val jogo = Jogo(titulo, capa, preco, descricao, id)
listaJogos.add(jogo)
}
}finally {
statement.close()
}
}finally {
conexao.close()
}
}
return listaJogos
}