hi jaeneee
CRUD 게시판 만들기_5(회원가입 -> DAO) 본문
1. MemberDAOImpl에 MemberDao implements하기
전과 같이 빨간줄이 뜨면 add unimplemented methods 한다.
2. db를 연결해준다.
윗줄에
private DBConnect db;
public MemberDAOImpl() {
db=DBConnect.getInstance();
}
이것을 추가해주면 db가 연결된다.
(*톰캣 9.0을 설치했다.)
*****지금부터 복잡해진다******
3. joinMember를 작성해준다.(지금은 회원가입만 구현할 예정이기 때문)
Connection conn= null;
PreparedStatement pstmt=null;
Connection conn -> 드라이브 로딩이라고 하는데 느낌만 알고 넘어간다..
PreparedStatement -> sql문을 전송하는 것
String sql="insert into member values(?, ?, ?, ?, ?)";
sql문에 넣어줄 문자열을 sql로 선언 (물음표는 뒤에서 설명)
conn = db.getConnection();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, m.getId());
pstmt.setString(2, m.getPassword());
pstmt.setString(3, m.getName());
pstmt.setString(4, m.getPhoneNumber());
pstmt.setString(5, m.getEmail());
pstmt.executeUpdate();
pstmt가 sql문을 전송해주는 것이니 sql문에 ?부분에 원하는 값을 넣어야한다.
그래서 첫 번째 물음표에 매개변수의 m에서 Id를 가져온다.
(MemberVO에서 getter, setter를 한 이유!)
2022.11.18 - [CRUD게시판] - CRUD 게시판 만들기_2(DB/VO 만들기)
CRUD 게시판 만들기_2(DB/VO 만들기)
먼저 사용자가 회원가입하고 로그인한 다음에 글을 쓰고 봐야하기 때문에 회원의 DB먼저 만들어준다. 회원의 정보는 id, password, name, phoneNumber, email을 가지고 온다. 1. oracle db에 회원 정보를 나타
ash-silver.tistory.com
위의 과정에서 오류가 발생할 수 있으니
try except finally 문 안에 위의 코드를 넣어준다.
try {
conn = db.getConnection();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, m.getId());
pstmt.setString(2, m.getPassword());
pstmt.setString(3, m.getName());
pstmt.setString(4, m.getPhoneNumber());
pstmt.setString(5, m.getEmail());
pstmt.executeUpdate();
}
catch(SQLException e) {
e.printStackTrace();
}
catch(Exception e) {
e.printStackTrace();
}
finally {
try {
pstmt.close();
conn.close();
}
catch(SQLException e) {
e.printStackTrace();
}
catch(Exception e) {
e.printStackTrace();
}
}
sqlexception을 먼저 넣어주는 이유는 sql오류를 먼저 잡은 후, 나머지 오류를 잡기 위해서이다.
finally는 pstmt를 닫고 conn을 닫아야하기 때문에 넣어줬다.
'CRUD게시판' 카테고리의 다른 글
CRUD 게시판 만들기_7(회원가입 -> service)[완료] (0) | 2022.11.22 |
---|---|
CRUD 게시판 만들기_6(회원가입 -> Controller) (1) | 2022.11.21 |
CRUD 게시판 만들기_4(회원가입 -> jsp) (0) | 2022.11.21 |
CRUD 게시판 만들기_3(회원 관리 -> service, DAO,) (0) | 2022.11.18 |
CRUD 게시판 만들기_JSTL, EL (0) | 2022.11.18 |
Comments