본문 바로가기
프로젝트/selfmade Blog - V1 (deprecated)

6. 유저 CRUD 구현 및 테스트 데이터 삭제

by zangsu_ 2023. 8. 13.

유저 관련 기능은 앞서 만들어 뒀던 DAOContext의 기능을 그대로 가져다 쓸 것이기 때문에 코드만 올려 둔다.

@Repository  
public class UserDAO {  
  
//daoContext 선언 및 주입
  
    Function<ResultSet, User> userMapper = rs ->{  
        User user = null;  
        try {  
            user = new User();  
            user.setId(rs.getString("id"));  
            user.setPassword(rs.getString("password"));  
            user.setIdx(rs.getInt("idx"));  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
  
        return user;  
    };  
  
  
    public void save(User user) throws SQLException {  
        String sql = "insert into users (id, password) VALUES (?, ?)";  
        int generatedKey = daoContext
        .executeSQLAndReturn(sql, 
        user.getId(), 
        user.getPassword());  
        user.setIdx(generatedKey);  
    }  
  
    public User findUserByIdx(int idx) throws SQLException {  
        String sql = "select * from users where idx = ?";  
        User user = daoContext.getObject(sql, 
        userMapper, idx);  
        return user;  
    }  
  
    public void update(User user) throws SQLException {  
        String sql = 
        "update users set id = ?, password = ? where idx = ?"; 
        daoContext.update(sql, user.getId(),
         user.getPassword(), 
         Integer.toString(user.getIdx()));  
    }  
  
    public void delete(int idx) throws SQLException {  
        String sql = "delete from users where idx = ?";  
        daoContext.delete(sql, Integer.toString(idx));  
    }  
}

 

테스트 데이터 정리

지금은 테스트 코드들을 실행할 때 마다 테스트 데이터들이 데이터 베이스에 남아 있게 된다.
각각의 테스트가 끝난 이후 해당 테스트에 대한 데이터가 남아있을 필요가 없으므로 매 테스트가 끝날 때 마다 테스트 데이터를 삭제시켜 주자.

//PostingDAOTest
@AfterEach  
public void cleanUp() throws SQLException {  
    postingDAO.delete(posting.getIdx());  
    userDAO.delete(user.getIdx());  
}

//UserDAOTest
@AfterEach  
public void cleanUp() throws SQLException {  
    userDAO.delete(user.getIdx());  
}

 

댓글