• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MyBatis 환경설정과 조회하기 문의

23.03.12 22:39 작성 23.03.12 22:43 수정 조회수 823

0

MyBatis 설정 & 조회 문의드립니다.

우선 하단의 youtube 영상의

<logger name="com.boot.sailing" level="info" />
<root level="Debug">
  <appender-ref ref="console" />
</root>

추가하여 확인하였지만 error의 구문 자체가 모호해서 어디에서 문제가 발생을 하는지를 모르겠습니다.

ioC 구성도 문제 되는 게 없고 코드 상의 오타도 없고 mybatis 쿼리 문도 문제가 없는데 현재 hikariCP에서 문제가 발생하고 있습니다.

코드도 점검하고 행여 눈에 보이지 않는 오타 때문인가 싶어 소스코드 내용을 복사하여 붙여 가며 확인을 해보았지만 달라지는 점이 없는데 어디에서 문제가 발생하는지를 모르겠습니다.

구글링을 찾아봐도

### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [D:\workspace\sailing\build\resources\main\sqlmapper\CoffeeMenu.xml] ### The error may involve com.boot.sailing.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null

에러의 경우 대부분 코드 전반적인 부분을 봐야 한다는 글들이 대부분인 관계로 문의드립니다.

connection_pool-error.png

답변 5

·

답변을 작성해보세요.

0

search_.png이메일이 들어가지 않아 스크린샷으로 올렸습니다.

0

네, 비밀번호가 틀린게 아니라 2.7.7 버전으로 변경후 JDBC에 접근을 못하고 있습니다.

Failed-to-obtain-JDBC-Connection.png

 

네.. 혹시 소스를 저에게 보내주실 수 있나요.
제가 직접 한번 실행해 보면 어떨까 해서요.

good.dhkim@gmail.com 입니다.

github 을 사용하신다면 해당 주소 주셔도 되구요.

번거롭게 해드려 죄송합니다.

메일은 보내드렸고, 현재 mariadb에 계정 권한을 준 후로 오류가 BindingException: Invalid bound statement (not found): com.boot.sailing.dao.MenuDao.doList로 변경되었습니다.

이와 관련된 오류를 찾아보았으나 mapper 경로의 오류로 발생되는 오류라고 하는데 경로 오류는 문제가 없는데 bindingexception의 오류를 해결할 수가 없네요.

 

 

메일 보내드렸구요.
단순 오류로 보이네요.

application.yml - mybatis 설정 오류로 보이구요.
아래와 같이 classpath 를 값으로 넣어주셔야 합니다.
이번에는 꼭 성공했으면 하고 바래봅니다. ^^

mapper-locations: classpath:sqlmapper/**/*.xml
image

0

말씀해 주신 내용을 토대로 테스트 한 결과

2.7.7버전으로 설정 후 테스트한 결과 jdbc가 마리아디비에 접근을 하지 못하고 있습니다.

The error may exist in file [D:\workspace\sailing\build\resources\main\sqlmapper\CoffeeMenu.xml] ### The error may involve com.boot.sailing.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLInvalidAuthorizationSpecException: (conn=18) Access denied for user 'abc'@'localhost' (using password: YES)

추가로 답변주신 내용 중 mysql에 관한 글과는 무관한 캐이스입니다. 포맷 후 사용하면서 mysql를 사용한 적이 없으며 기존 mariadb 파일을 설치한 것이 아닌 영상 버전에 맞추기 위해 10.10 버전을 설치한 상황입니다.

안녕하세요.
(conn=18) Access denied for user 'abc'@'localhost' (using password: YES)
위 오류는 보통 비밀번호와 관련된 오류인데요.
구글링을 해보면 몇가지 방법이 나오는데 참고해보시면 어떨까 합니다.

꼭 해결되었으면 좋겠네요.
https://velog.io/@rladuswl/MySQL-%EC%97%B0%EB%8F%99-%EC%97%90%EB%9F%AC

https://chobopark.tistory.com/205

 



0

제가 동일한 문제가 발생한 수강생분의 소스를 받아서 mysql 이 설치된 pc 에서 실행을 해보니
동일한 오류가 발생하는걸 확인하였습니다.
(mysql 이 설치되지 않는 pc 에서는 오류가 나지 않네요)

제가 해결한 방법은 spring boot version down 으로 해결했습니다.
아마도 스프링부트 버전과 자바버전등 환경의 문제로 2.7.7 이상 버전에서는
오류가 발생하는것 같아요.

한번 확인해 보시기 바랍니다.

build.gradle 파일 수정

image

0

이부분에서 동일한 문제가 두분이 발생을 하는걸보니 뭔가 이상하긴 하네요
우선 해당강좌에 소스가 있는데 그걸 카피해서 적용해도 문제가 있는지 보시겠어요.

내일 제가 영상을 처음부터 다시 한번 실행해보면서 동일한 오류가 나는지 확인해볼게요.

우선 가장 먼저 체크할것은 DB 커넥션 여부 인데요.
확인은 아래 유투브에서 단위 테스트를 할수도 있구요.
더 간단히는 sqlmapper 에서 select 구분에 오류를 발생시켜보는 겁니다.
예를들어 SELECT no, coffee, kind, price, =>SELECT noaaa, coffee, kind, price,
이렇게했을때 오류가 sql syntax 에러가 나면서 해당 쿼리에 오류가 있음을 보여준다면
DB 커넥션의 문제가 아닌 커넥션 이후의 문제임을 알수가 있습니다.

잘 안되시면, 참고로 하단 영상참고해서 단위테스트로 오류부분 체크해보세요.

https://youtu.be/ugthz7YqsJg

그리고 한가지 궁금한데,
현재 PC 에 mariadb 말고 기존에 설치한 mysql or Bitnami 가 있나요?

구글링 해보니 그럴경우 오류가 발생하는 경우가 많은듯 한데요.
https://oneul-losnue.tistory.com/108