Além do erro anunciado pelo instrutor no final do curso sobre a ausência do 6o Parâmetro
String sql = "INSERT INTO conta (numero, saldo, cliente_nome, cliente_cpf, cliente_email, esta_ativa)" +
"VALUES (?, ?, ?, ?, ?, ?)";
Encontrei um erro que não permitia o depósito pois o BD estava sendo fechado antes do Commit. Assim, o código corrigido fica:
public void alterar(Integer numero, BigDecimal valor) {
PreparedStatement ps;
String sql = "UPDATE conta SET saldo = ? WHERE numero = ?";
try {
conn.setAutoCommit(false);
ps = conn.prepareStatement(sql);
ps.setBigDecimal(1, valor);
ps.setInt(2, numero);
ps.execute();
ps.close();
conn.commit(); //estava depois do conn.close não permitindo a transação no BD
conn.close();
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
throw new RuntimeException(e);
}
}