jdbc : update, delete

This commit is contained in:
haerong22
2022-04-19 17:07:41 +09:00
parent ccef2b749d
commit a32bcaafe1
2 changed files with 57 additions and 2 deletions

View File

@@ -63,6 +63,47 @@ 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);
int result = pstmt.executeUpdate();
log.info("resultSize={}", result);
} 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);
}
}
private void close(Connection con, Statement stmt, ResultSet rs) { private void close(Connection con, Statement stmt, ResultSet rs) {
if (rs != null) { if (rs != null) {

View File

@@ -6,6 +6,9 @@ import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.NoSuchElementException;
import static org.assertj.core.api.Assertions.*;
@Slf4j @Slf4j
class MemberRepositoryV0Test { class MemberRepositoryV0Test {
@@ -15,14 +18,25 @@ class MemberRepositoryV0Test {
@Test @Test
void crud() throws SQLException { void crud() throws SQLException {
// save // save
Member member = new Member("memberV0", 10000); Member member = new Member("memberV13", 10000);
repository.save(member); repository.save(member);
// findById // findById
Member findMember = repository.findById(member.getMemberId()); Member findMember = repository.findById(member.getMemberId());
log.info("findMember={}", findMember); log.info("findMember={}", findMember);
Assertions.assertThat(findMember).isEqualTo(member); assertThat(findMember).isEqualTo(member);
// update - money : 10000 -> 20000
repository.update(member.getMemberId(), 20000);
Member updatedMember = repository.findById(member.getMemberId());
assertThat(updatedMember.getMoney()).isEqualTo(20000);
// delete
repository.delete(member.getMemberId());
assertThatThrownBy(()-> repository.findById(member.getMemberId()))
.isInstanceOf(NoSuchElementException.class);
} }
} }