2011-04-27 3 views
20

Les gars, tout simplement, j'ai une application Java avec une boîte de sortie de texte. Je voudrais interroger un Db et afficher la sortie dans une zone de texte.Interroger un DB MySQL en utilisant java

Exemple J'ai un Db avec deux colonnes food et color

Je voudrais:

SELECT * in Table WHERE color = 'blue' 

Toutes les suggestions?

+0

Dans d'autres question similaire trouvé [cet article jdbc-select-fiches] (https://www.tutorialspoint.com/jdbc/jdbc-select-records.htm) USEFULL. – surfmuggle

Répondre

44

Les débutants sont généralement confrontés à des difficultés à comprendre comment se connecter à MySQL à partir de Java. C'est l'extrait de code qui peut vous aider à démarrer rapidement. Vous devez obtenir le fichier jar du pilote mysql jdbc de quelque part (google it) et l'ajouter au classpath.

Class.forName("com.mysql.jdbc.Driver") ; 
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/DBNAME", "usrname", "pswd") ; 
Statement stmt = conn.createStatement() ; 
String query = "select columnname from tablename ;" ; 
ResultSet rs = stmt.executeQuery(query) ; 
+2

OK, c'est probablement un peu plus facile à comprendre qu'avec toutes les exceptions, bravo! :) – ert

+2

Ouais. Un exemple simple pour une fois. Je vous remercie! – ThePixelPony

8

Vous devez utiliser JDBC. Voir http://en.wikipedia.org/wiki/Java_Database_Connectivity

Vous avez besoin de Java MySQL Connector de http://dev.mysql.com/downloads/connector/j/

Ensuite, utilisez quelque chose comme (copié à partir de l'article de Wikipedia):

Class.forName("com.mysql.jdbc.driver"); 

Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/database", 
"myLogin", 
"myPassword"); 
try { 
    Statement stmt = conn.createStatement(); 
try { 
    ResultSet rs = stmt.executeQuery("SELECT * FROM Table WHERE color = 'blue'"); 
    try { 
     while (rs.next()) { 
      int numColumns = rs.getMetaData().getColumnCount(); 
      for (int i = 1 ; i <= numColumns ; i++) { 
       // Column numbers start at 1. 
       // Also there are many methods on the result set to return 
       // the column as a particular type. Refer to the Sun documentation 
       // for the list of valid conversions. 
       System.out.println("COLUMN " + i + " = " + rs.getObject(i)); 
      } 
     } 
    } finally { 
     try { rs.close(); } catch (Throwable ignore) { /* Propagate the original exception 
instead of this one that you may want just logged */ } 
    } 
} finally { 
    try { stmt.close(); } catch (Throwable ignore) { /* Propagate the original exception 
instead of this one that you may want just logged */ } 
} 
} finally { 
    //It's important to close the connection when you are done with it 
    try { conn.close(); } catch (Throwable ignore) { /* Propagate the original exception 
instead of this one that you may want just logged */ } 
} 
+0

C'est toujours une bonne pratique de fermer les ressources –

Questions connexes