bonjour
je veux afficher dans ma table JTable touts les articles de ma BDD MYSQL qui représentent environ 4700 lignes
pour que l'utilisateur peut faire une recherche globale grâce a un EditText donc hypothèse de plusieurs pages a écarter.
le problème c'est que la requête prend 20 second
et ça gène énormément
voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
modeleArticle.clear();
 
 
						Article article ;
						try {                                                    
			              Statement state = ArticleDAO.connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );
			              		ResultSet result = state.executeQuery("SELECT * FROM article LEFT JOIN famille_article ON id_famille_article = famille_article.id LEFT JOIN categorie_article ON id_categorie_article = categorie_article.id " 
 
			              				                               );
 
 
			              		while(result.next())
 
			              		{
						       		article = new Article(result.getInt("id"), result.getInt("n_papillon"), result.getString("code"),result.getString("gisement_secondaire"), result.getString("label"), result.getString("unite"), result.getFloat("stock"), result.getFloat("prix_unitaire"), result.getInt("rang"), result.getInt("stock_mini"), result.getDate("date_creation"),result.getDate("date_modification"), result.getString("checkout"));
 
 
 
			              		Object[] temp = {article.getId_article(),article.getN_papillon(),article.getGisement_secondaire(),article.getCode_article(),  "",article.getLabel_article(),article.getUnite_article(),article.getStock_article(),article.getPrix_article(),article.getRang_article(),article.getStockmini_article(),article.getDate_creation(),article.getDate_modification(),article.getCheckout_article(),"","",  ""};
			              		modeleArticle.addRow(temp);
 
 
			              		}
 
						} catch (SQLException e) {
			              e.printStackTrace();
			      }	
 
		}
 
 
		}	 
		 tableauArticle.setModel(modeleArticle);
		 calculer_total();
		 sorter = new TableRowSorter<TableModel>(tableauArticle.getModel());
			tableauArticle.setRowSorter(sorter);