항해99 7기/TIL(Today I Learned)

항해99 7기 15일차 TIL[java.sql.SQLException, 게시판 개별과제]

고을마을 2022. 5. 24. 00:56

2022년 5월 23일 항해 15일차.

주특기 입문주차로 강의를 듣는데 집중했던 날이었다.

 

RDS 구매, MySQL 셋팅을 하는 부분에서 에러발생...ㅠㅠ

java.sql.SQLException이 발생하고 말았다.

AWS → MySQL 설정에서 마스터 사용자 이름을 입력하고 비밀번호를 설정해줬다.

이 이름과 비밀번호를 오타없이 application,properties에 입력했는데도 SQLException 발생...

spring.datasource.url=jdbc:mysql://springboot-database.cypa6efecpze.ap-northeast-2.rds.amazonaws.com:3306/myselectshop
spring.datasource.username=********
spring.datasource.password=*********
spring.jpa.hibernate.ddl-auto=update

계속 뒤져봤지만 원인이 뭔지를 모르겠다...

인텔리제이 Database Data Source MySQL 설정도 이상없이 잘 해놨고,

다시한번 AWS에 들어가서 사용자 이름, 비밀번호를 확인해봤지만 계속 SQLException...

구글링으로 살펴보면 MySQL의 데이터베이스를 살펴봐야하는 것 같은데 개별과제까지 해야하는 나로서는 더이상 지체할 시간이 없었다.

 

개별과제를 어느 정도 마무리하고 서버에 올릴때 이 문제를 다시한번 뜯어보는 수 밖에...

 

java.sql.SQLException: Access denied for user '*******   '@'아이피주소' (using password: YES) 의 원인은 무엇이란 말인가...

 

머리가 지끈지끈하다.

이 문제를 잠시 잊고 내일부터 개별과제 게시판 만들기 시작.

 

@PostMapping("/api/memos")
public Memo createMemo(@RequestBody MemoRequestDto requestDto) {
    Memo memo = new Memo(requestDto);
    return memoRepository.save(memo);
}

@GetMapping("/api/memos")
public List<Memo> getMemos() {
    LocalDateTime start = LocalDateTime.now();
    LocalDateTime end =LocalDateTime.now().minusDays(1);
    return memoRepository.findAllByModifiedAtBetweenOrderByModifiedAtDesc(start,end);
}

@PutMapping("/api/memos/{id}")
public Long updateMemo(@PathVariable Long id, @RequestBody MemoRequestDto requestDto) {
    memoService.update(id, requestDto);
    return id;
}

@DeleteMapping("/api/memos/{id}")
public Long deleteMemo(@PathVariable Long id) {
    memoRepository.deleteById(id);
    return id;
}

일단 컨트롤러까지는 초안으로 만들어놨다.

게시판을 작성하고 수정할때 비밀번호를 입력해야하는데 이 문제에 대해서는 html을 작성한 후 고민해봐야할 것 같다.

 

내일 어느정도 게시판이 완성되고 SQLException에 대해서 고민해볼 수 있었으면 좋겠다.