Note that there are some explanatory texts on larger screens.

plurals
  1. POJDBC - Retrieve entire data as a List
    primarykey
    data
    text
    <p>I'm trying to build a class that retrieves each row from a MySQL table and store it to a List but my code doesn't compile and throws me an error </p> <blockquote> <p>Error: Main method not found in class MySQLAccountsDatabankReader, please define the main method as: public static void main(String[] args)</p> </blockquote> <pre><code> import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; public class MySQLAccountsDatabankReader { private static List&lt;String[]&gt; accounts; public MySQLAccountsDatabankReader(String[] args) { Connection con = null; Statement st = null; ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "mysql"; try { con = DriverManager.getConnection(url, user, password); st = con.createStatement(); rs = st.executeQuery("SELECT * FROM test.accounts;"); if (rs.next()) { ArrayList&lt;String[]&gt; accounts = new ArrayList&lt;String[]&gt;(); rs = st.executeQuery("SELECT * FROM test.accounts;"); int columnCount = rs.getMetaData().getColumnCount(); while (rs.next()) { String[] row = new String[columnCount]; for (int i = 0; i &lt; columnCount; i++) { row[i] = rs.getString(i + 1); } accounts.add(row); } } } catch (SQLException ex) { Logger lgr = Logger.getLogger(MySQLAccountsDatabankReader.class .getName()); lgr.log(Level.SEVERE, ex.getMessage(), ex); } finally { try { if (rs != null) { rs.close(); } if (st != null) { st.close(); } if (con != null) { con.close(); } } catch (SQLException ex) { Logger lgr = Logger.getLogger(MySQLAccountsDatabankReader.class .getName()); lgr.log(Level.WARNING, ex.getMessage(), ex); } } return accounts; } } </code></pre> <p>Revision 0.2 - I've got the following compilation error - Exception in thread "main" java.lang.Error: Unresolved compilation problems: accounts cannot be resolved accounts cannot be resolved to a variable</p> <pre><code>import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; public class MySQLAccountsDatabankReader { public static void main(String[] args) { MySQLAccountsDatabankReader reader = new MySQLAccountsDatabankReader(); List&lt;String[]&gt; accounts = reader.getAccounts(); } public List&lt;String[]&gt; getAccounts() { Connection con = null; Statement st = null; ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "mysql"; try { con = DriverManager.getConnection(url, user, password); st = con.createStatement(); rs = st.executeQuery("SELECT * FROM test.accounts;"); if (rs.next()) { rs = st.executeQuery("SELECT * FROM test.accounts;"); int columnCount = rs.getMetaData().getColumnCount(); while (rs.next()) { String[] row = new String[columnCount]; for (int i = 0; i &lt; columnCount; i++) { row[i] = rs.getString(i + 1); } accounts.add(row); } return accounts; } } catch (SQLException ex) { Logger lgr = Logger.getLogger(MySQLAccountsDatabankReader.class .getName()); lgr.log(Level.SEVERE, ex.getMessage(), ex); } finally { try { if (rs != null) { rs.close(); } if (st != null) { st.close(); } if (con != null) { con.close(); } } catch (SQLException ex) { Logger lgr = Logger.getLogger(MySQLAccountsDatabankReader.class .getName()); lgr.log(Level.WARNING, ex.getMessage(), ex); } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload