• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

repository관련 질문

24.03.13 11:08 작성 24.03.13 11:11 수정 조회수 94

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를 두번적으면 되더라고요. 왜 전자처럼 두번누르는 것은 예외가 나나요?

답변 1

답변을 작성해보세요.

0

안녕하세요. III님

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

 

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명

 

링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.