abstract에서 override한 DELETE, INSERT, UPDATE를 수행하는 메서드를 구현한다.
@Override
public int deleteOneMemberByMemberId (String memberId) {
Connection conn = cafeConnect.makeConnection();
//쿼리 생성
StringBuffer query = new StringBuffer();
query.append(" DELETE ");
query.append(" FROM MEMBERS ");
query.append(" WHERE MEMBER_ID = ? ");
//쿼리 실행 준비
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(query.toString());
} catch (SQLException e) {
System.out.println("쿼리에 문제가 있습니다.");
System.out.println(e.getMessage());
cafeConnect.closeConnection(conn);
return 0;
}
//바인딩
try {
pstmt.setString(1, memberId);
} catch (SQLException e) {
System.out.println("파라미터 바인딩 과정에서 예외가 발생했습니다.");
System.out.println("사유: " + e.getMessage());
cafeConnect.closePreparedStatement(pstmt);
cafeConnect.closeConnection(conn);
return 0;
}
int deleteCount = 0;
try {
deleteCount = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
return 0;
} finally {
cafeConnect.closePreparedStatement(pstmt);
cafeConnect.closeConnection(conn);
}
return deleteCount;
}
@Override
public int insertNewMember (MembersVO memberVO) {
Connection conn = cafeConnect.makeConnection();
//쿼리 생성
StringBuffer query = new StringBuffer();
query.append(" INSERT INTO MEMBERS ");
query.append(" (MEMBER_ID ");
query.append(" , MEMBER_NAME ");
query.append(" , MEMBER_GRADE ");
query.append(" , PROFILE_IMG) ");
query.append(" VALUES ");
query.append(" (SEQ_MEMBERS_PK ");
query.append(" , ? ");
query.append(" , ? ");
query.append(" , ?) ");
//쿼리 실행 준비
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(query.toString());
} catch (SQLException e) {
System.out.println("쿼리에 문제가 있습니다.");
System.out.println(e.getMessage());
cafeConnect.closeConnection(conn);
return 0;
}
//바인딩
try {
pstmt.setString(1, memberVO.getMemberId());
pstmt.setString(2, memberVO.getMemberName());
pstmt.setString(3, memberVO.getMemberGrade());
pstmt.setString(4, memberVO.getProfileImg());
} catch (SQLException e) {
System.out.println("파라미터 바인딩 과정에서 예외가 발생했습니다.");
System.out.println("사유: " + e.getMessage());
cafeConnect.closePreparedStatement(pstmt);
cafeConnect.closeConnection(conn);
return 0;
}
int insertCount = 0;
try {
insertCount = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
return 0;
} finally {
cafeConnect.closePreparedStatement(pstmt);
cafeConnect.closeConnection(conn);
}
return insertCount;
}
@Override
public int updateMemberGradeByMemberId(String newGrade, String memberId) {
Connection conn = cafeConnect.makeConnection();
//쿼리 생성
StringBuffer query = new StringBuffer();
query.append(" UPDATE MEMBERS ");
query.append(" SET MEMBER_GRADE = ? ");
query.append(" WHERE MEMBER_ID = ? ");
//쿼리 실행 준비
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(query.toString());
} catch (SQLException e) {
System.out.println("쿼리에 문제가 있습니다.");
System.out.println(e.getMessage());
cafeConnect.closeConnection(conn);
return 0;
}
//바인딩
try {
pstmt.setString(1, newGrade);
pstmt.setString(2, memberId);
} catch (SQLException e) {
System.out.println("파라미터 바인딩 과정에서 예외가 발생했습니다.");
System.out.println("사유: " + e.getMessage());
cafeConnect.closePreparedStatement(pstmt);
cafeConnect.closeConnection(conn);
return 0;
}
int updateCount = 0;
try {
updateCount = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
return 0;
} finally {
cafeConnect.closePreparedStatement(pstmt);
cafeConnect.closeConnection(conn);
}
return updateCount;
}