작성
·
154
·
수정됨
0
repository 코드입니다.
private static long sequence = 0L;
private DataSource dataSource;
public DbMemberRepository(DataSource dataSource) {
this.dataSource = dataSource;
}
public void save(String memberId, String password) throws SQLException {
String sql = "insert into member(id, member_id, password) values(?,?,?)";
try {
Connection con = null;
PreparedStatement pstmt;
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setLong(1, ++sequence);
pstmt.setString(2, memberId);
pstmt.setString(3, password);
log.info(String.valueOf(sequence));
pstmt.execute();
} catch (SQLException e) {
throw new SQLException("sql exception");
}
}
@Test
void save() throws SQLException {
memberRepository.save("test1", "test1!");
//memberRepository.save("test2", "test2!");
}
위 코드에서 save테스트를 돌릴 때 save test를 두번 누르면 sequence(id)가 1, 2로 저장된다고 생각했는데 에러가 나고 test코드내에서 memberRepository.save를 두번적으면 되더라고요. 왜 전자처럼 두번누르는 것은 예외가 나나요?