Boa noite,
Estou a fazer um resultset que envia para o para uma tabela através de uma tablemodel o problema e que ele demora muitooo tempo, demora cerca de 30 seg, e sao apenas 31 linhas não quero imaginar quando forem mais…
Base de Dados
public List<Procurar> MostrarDados() throws SQLException{
Conectar();
List<Procurar> pro = new ArrayList<Procurar>();
Procurar procurar = null;
ps = con.prepareStatement("select * from dados");
rs = ps.executeQuery();
while(rs.next()){
procurar = new Procurar();
procurar.setTema(rs.getString("tema"));
procurar.setTexto(rs.getString("texto"));
pro.add(procurar);
}
Desconectar();
return pro;
Tablemodel
private String[] columnNames = { "Tema", "Texto"};
private List<Procurar> logList;
public MeuTableMode() {
logList = new ArrayList<Procurar>();
}
public MeuTableMode( List<Procurar> logList ) {
this();
setData( logList );
}
@Override
public String getColumnName(int col) {
return columnNames[col];
}
public String[] getColumnNames() {
return columnNames;
}
public void setData(List<Procurar> list) {
this.logList.clear();
this.logList.addAll( list );
super.fireTableDataChanged();
}
public Procurar getValueAt(int row) {
return logList.get( row );
}
public int indexOf(Procurar entity) {
return logList.indexOf( entity );
}
public void clear() {
this.logList.clear();
fireTableDataChanged();
}
public void remove(Procurar entity) {
logList.remove( entity );
super.fireTableDataChanged();
}
public void add(Procurar entity) {
logList.add( 0, entity );
super.fireTableDataChanged();
}
public boolean contains(Procurar entity) {
return logList.contains( entity );
}
public int getRowCount() {
return logList.size();
}
public int getColumnCount() {
return columnNames.length;
}
public Object getValueAt(int rowIndex, int columnIndex) {
Procurar log = logList.get( rowIndex );
switch( columnIndex ) {
case 0: return log.getTema();
case 1: return log.getTexto();
}
return null;
}
public List<Procurar> list() {
return logList;
}
public void updateItem(int idx, Procurar entity) {
logList.set( idx, entity );
super.fireTableDataChanged();
}
try {
for(int i = 0; i < bdTema.MostrarDados().size(); i++){
modelo.add((Procurar) bdTema.MostrarDados().get(i));
}
} catch (SQLException ex) {
}
O que está mal?