
회원 리포지토리
@Slf4j
public class MemberRepositoryV0 {
...
public void update(String memberId, int money) throws SQLException {
String sql = "update member set money=? where member_id =?";
Connection con = null;
PreparedStatement pstmt = null;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, money);
pstmt.setString(2, memberId);
pstmt.executeUpdate();
} catch(SQLException e) {
log.error("db error", e);
throw e;
} finally {
close(con, pstmt, null);
}
}
public void delete(String memberId) throws SQLException {
String sql = "delete from member where member_id =?";
Connection con = null;
PreparedStatement pstmt = null;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, memberId);
pstmt.executeUpdate();
} catch(SQLException e) {
log.error("db error", e);
throw e;
} finally {
close(con, pstmt, null);
}
}
...
}
TEST
@Test
void crud() throws SQLException {
Member member = new Member("memberV0", 10000);
repository.save(member);
Member findMember = repository.findById(member.getMemberId());
Assertions.assertThat(member.getMemberId()).isEqualTo(findMember.getMemberId());
repository.update(findMember.getMemberId(), 20000);
Member updateMember = repository.findById(findMember.getMemberId());
Assertions.assertThat(updateMember.getMoney()).isEqualTo(20000);
repository.delete(findMember.getMemberId());
Assertions.assertThatThrownBy(() -> repository.findById(findMember.getMemberId()))
.isInstanceOf(NoSuchElementException.class);
}