Запрос к базе данных MySQL с использованием Java

#java #mysql #database #entitymanager

#java #mysql #База данных #entitymanager

Вопрос:

Ребята, проще говоря, у меня есть Java-приложение с текстовым полем вывода. Я хотел бы запросить базу данных и отобразить выходные данные в текстовом поле.

Например, у меня есть база данных с двумя столбцами food и color

Я хотел бы :

 SELECT * in Table WHERE color = 'blue'
  

Есть предложения?

Комментарии:

1. В аналогичном вопросе другие сочли эту статью jdbc-select-records полезной.

Ответ №1:

Новички обычно сталкиваются с проблемами, понимая, как подключиться к MySQL с Java. Это фрагмент кода, который поможет вам быстро начать работу. Вам нужно откуда-то получить jar-файл драйвера mysql jdbc (погуглите) и добавить его в 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) ;
  

Комментарии:

1. Хорошо, это, вероятно, немного легче понять, чем со всеми исключениями, молодец ! 🙂

2. Да. Простой пример на этот раз. Спасибо!

Ответ №2:

Вы должны использовать JDBC. Смотрите http://en.wikipedia.org/wiki/Java_Database_Connectivity

Вам нужен соединитель Java MySQL из http://dev.mysql.com/downloads/connector/j

Затем используйте что-то вроде (скопировано из статьи в Википедии):

 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 */ }
}