What's new

Closed Java with mysql - 2 - database connection - refactoring1

Status
Not open for further replies.

codyscott

Eternal Poster
Joined
Sep 13, 2017
Posts
388
Reaction
454
Points
279
Series number 2, mga ka tropa.
- linisin lang natin ng konti ang ating code para madaling basahin.
- demo on how to refactor
- ipapakita ko slowly kung paano para madaling masundan ang pag refactor ng code
- slowly but surely
- COMPARE this code with SERIES 1 code


***Here's the revised "MainApp2.java" code**
***(Take note "MainApp2")**
Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class MainApp2 {
    static String format = "%-5s %-15s %-15s %-35s %-15s %-15s";     //pampaganda lang
   
   
    /****************** This is the main entry of application ***************/
    /************Let's keep it clean and easy to read ***********************/
    /*******So ilagay natin sa ibat ibang methods and mga tools natin *******/
    public static void main(String[] args) throws SQLException {
       
        //STEP 1: connect tayo sa database
        Connection con = databaseConnect();
       
        //STEP 2: create "query" object
        Statement statement = con.createStatement();
       
        //STEP 3: perform query and store result
        ResultSet resultSet = statement.executeQuery("SELECT * FROM students");
       
        //STEP 4: Print natin yung data column label using a FUNCTION para malinis ang ating main area
        ResultSetMetaData rm = resultSet.getMetaData(); 
        printColumNames(rm);

        //STEP 5: kuhanin na natin yung mga record or data PER row (while loop
        //gamitin uli natin yung format string para maganda ang lalabas
        while(resultSet.next()){
            System.out.println(String.format(format, resultSet.getLong(1), resultSet.getString(2), 
                    resultSet.getString(3), resultSet.getString(4), resultSet.getString(5), resultSet.getString(6) ) );
        }
       
    }
    /*************************end of Main area********************************/
    /************************************************************************/
   
    /**
    * Inihiwalay natin yung database connection as separate FUNCTION
    */
    static Connection databaseConnect() throws SQLException {
        String url = "jdbc:mysql://localhost/phpcorner_db";
        String user = "cody";
        String password = "secret";
        Connection con = DriverManager.getConnection(url, user, password);   
        return con;
    }
   
    /**
    * Function para lang mag-print ng column labels
    */
    static void printColumNames(ResultSetMetaData meta) throws SQLException {
        ResultSetMetaData rm = meta;   
        System.out.println(String.format(format, rm.getColumnLabel(1), rm.getColumnLabel(2), 
                rm.getColumnLabel(3),rm.getColumnLabel(4),rm.getColumnLabel(5),rm.getColumnLabel(6)));
    }
   
   

}

[\code]
 
Status
Not open for further replies.

Similar threads

Back
Top