Interroger une base de données MySQL en utilisant java

Les gars, en termes simples, j'ai une application java avec une boîte de sortie de texte. Je voudrais interroger une base de données et afficher la sortie dans une zone de texte.

Exemple j'ai une base de données avec deux colonnes food et color

Je voudrais:

SELECT * in Table WHERE color = 'blue'

Des suggestions?

21
demandé sur jotapdiez 2011-04-27 23:09:44

2 réponses

Les débutants rencontrent généralement des problèmes pour 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) ;
46
répondu euphoria83 2011-04-27 19:14:39

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

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

Ensuite, utilisez quelque chose comme (copié à partir de L'article 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 */ }
}
8
répondu ert 2011-04-27 19:19:27