import java.sql.*;

public class testmariaDB {
    // JDBC driver name and database URL There can be issues here. If you have more
    // then one DB on your system, be sure to use the correct driver!
    static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";  
    static final String DB_URL = "jdbc:mariadb://localhost:3306/cs4010";

    //  Database credentials
    static final String USER = "cs4010";
    static final String PASS = "cs4010";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            //STEP 2: Register JDBC driver, again the mariaDB driver!
            Class.forName("org.mariadb.jdbc.Driver");

            //STEP 3: Open a connection
            System.out.println("Connecting to database...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            //STEP 4: Execute a query
            System.out.println("Creating statement...");
            stmt = conn.createStatement();
            String this_query="SELECT name, year, test FROM student;";
            System.out.println(this_query+"\n");
            ResultSet rs = stmt.executeQuery(this_query);
            //STEP 5: Extract data from result set
            while (rs.next()) {
                //Retrieve by column name
                String the_name  = rs.getString("name");               
                String the_year = rs.getString("year");
                int the_grade = rs.getInt("test");
                System.out.println("Name: " + the_name + " Year: "+the_year+" Grade: "+the_grade);

            }
            //STEP 6: Clean-up environment
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException se) {
            //Handle errors for JDBC
            se.printStackTrace();
        } catch (Exception e) {
            //Handle errors for Class.forName
            e.printStackTrace();
        } finally {
            //finally block used to close resources
            try {
                if (stmt!=null)
                    stmt.close();
            } catch (SQLException se2) {
            }// nothing we can do
            try {
                if (conn!=null)
                    conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }//end finally try
        }//end try
        System.out.println("Goodbye!");
    }//end main
}//end testmariaDB