본문 바로가기
Web Programming/JAVA MVC

JAVA MVC / dao 생성하기, 생성자

by hyeon-H 2021. 6. 18.
728x90
반응형

Dao에서 생성자를 만들지 않아서, Controller에서 Dao에서 메소드를 호출해도 SQL문 실행부분에서 막혀서 진행이 되지 않았는데
생성자에서 메소드가 생성될때 데이터베이스에 연결을 해줘야 했었다.


MVC 패턴에서는 Controller 에서 DAO에서 메소드를 호출해서 원하는 데이터만을 가지고 올 수 있다.
그러기 위해서는 DAO에 원하는 데이터를 가지고 오는 메소드도 있어야하지만, 그 메소드를 사용하기 위한 객체가 필요하다.
      Dao는 class 파일로 생성한다.

MemberServiceImpl라는 DAO에는 PreparedStatement 객체와 Connection 객체를 가지고 있어야한다.
       PreparedStatement는 메소드 안에서 작성된 sql문을 실행 시켜주는 역할을 하고,
       Connection은 sql을 실행할 database에 연결해주는 역할을 한다.

public class MemberServiceImpl {
	
      private PreparedStatement pstmt;
      private Connection conn;

      .
      .
      .
      
    }

 

그리고 내가 놓친 부분인데, controller에서 Dao를 생성하고 메소드를 호출하게 되는데, 중요한것은
controller에서 DAO생성할때, 생성자를 통해서 생성하게 해야한다.
Dao 생성자에서는 DBconn 객체에 담아둔 Connection정보를 가져와서 객체가가 생성될때마다 DB에 접속하는 정보를 알려주고 연결을 할 것이다.

public class ReviewServiceImpl {

  private PreparedStatement pstmt;
  private Connection conn;

  public ReviewServiceImpl(){														
    DBconn dbconn = new DBconn();
    this.conn = dbconn.getConnection();					
  }

  public 메소드(){
    .
    .
    .
    conn.close();
    pstmt.close();
  }
}

그리고 Dao안의 메소드에서 열린 close해줘야 한다.

 

Controller에서 DAO로 연결하고 DAO가 생성되면 DBconn을 객체화 시켜줘야한다.

 

DBconn을 생성하는 방법

 

JDBC / 이클립스 오라클DB 연결 / Oracle JDBC 연결방법

JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. 이클립스 JDBC를 연결하

record-than-remember.tistory.com

 

 

 

참고했던 글.

 

[JDBC] JDBC 기초 - PreparedStatement란.

[JDBC] JDBC 기초 - PreparedStatement란. PreparedStatement 객체 statement를 상속받는 인터...

blog.naver.com

 

728x90
반응형

'Web Programming > JAVA MVC' 카테고리의 다른 글

Dao / java.sql.SQLException  (0) 2021.06.23
FrontController 사용하기  (0) 2021.06.18
Getter / Setter  (0) 2021.06.10