jdbc : update, delete
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user