Sample Code

검색하면 가장 많이 나오는 코드 패턴이지만, 문제가 많은 코드이다.

import java.sql.*;

public class BadJdbcExample {

    public static void main(final String... args) {
        try {
            Connection connection = DriverManager.getConnection("사용자 지정 호스트 주소", "유저 네임", "패스워드");
            Statement statement;
            statement = connection.createStatement();

            String query = "SELECT * FROM STUDENT";
            ResultSet resultSet;
            resultSet = statement.executeQuery(query);

            while (resultSet.next()) {
                System.out.print("[학번] " + resultSet.getString(1) + " || ");
                System.out.print("[이름] " + resultSet.getString(2) + " || ");
                System.out.println("[생일] " + resultSet.getString(3));
            }

            resultSet.close();
            statement.close();
            connection.close();

        } catch (SQLException sqle) {
            System.err.println("SQLException: " + sqle.getMessage());
            System.err.println("SQLState: " + sqle.getSQLState());
        }
    }

}

이렇게 해보자!

PostgresqlAccess.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class PostgresqlAccess {
    private static Connection conn = null;

    public void init() {
        try {
            Class.forName("org.postgresql.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection setConnection() {
        String url = "사용자 지정 호스트 주소";
        String username = "유저 네임";
        String password = "패스워드";

        try {
            conn = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return conn;
    }
}

Student.java

public class Student {
    private String studentNo;
    private String studentName;
    private String studentBirthday;

    public Student(String studentNo, String studentName, String studentBirthday) {
        this.studentNo = studentNo;
        this.studentName = studentName;
        this.studentBirthday = studentBirthday;
    }

    public String getStudentNo() {
        return studentNo;
    }

    public void setStudentNo(String studentNo) {
        this.studentNo = studentNo;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getStudentBirthday() {
        return studentBirthday;
    }

    public void setStudentBirthday(String studentBirthday) {
        this.studentBirthday = studentBirthday;
    }
}

🗯️ JDBC 프로그래밍으로 조회하기

StudentSelectService.java

public class StudentSelectService {

    public void getStudentAll() {

    }

    public void getStudentByNo(String studentNo) {

    }

    public void getStudentByName(String studentName) {

    }

    public void getStudentByBirthday(String studentBirthday) {

    }
}

Main.java