DB 연동 부분에서 에러가 발생합니다.
3995
작성한 질문수 1
에러 코드 중 일부입니다.
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sun Mar 05 16:31:35 KST 2023
There was an unexpected error (type=Internal Server Error, status=500).
nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [build\resources\main\sqlmapper\v1\CoffeeMenu.xml] ### The error may involve com.boot.sailing.v1.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [build\resources\main\sqlmapper\v1\CoffeeMenu.xml] ### The error may involve com.boot.sailing.v1.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null
CoffeeMenu.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.boot.sailing.v1.dao.MenuDao">
<!-- 메뉴 조회 -->
<select id="doList" resultType="map">
SELECT no, coffee, kind, price,
DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day,
DATE_FORMAT(mod_day,'%Y.%m.%d') AS mod_day
FROM coffee_menu;
</select>
</mapper>package com.boot.sailing.v1.dao;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface MenuDao {
List<Map<String, Object>> doList();
}package com.boot.sailing.v1.service;
import com.boot.sailing.v1.dao.MenuDao;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Log4j2
public class MenuSvc {
@Autowired
MenuDao menuDao;
public List<Map<String, Object>> doList(){
// Data 만들기 , List , Map
List<Map<String, Object>> list = menuDao.doList();
log.info(list);
return list;
}
public MenuSvc() {
log.info("============== MenuSvc , 생성자 =====================");
}
}DB도 강사님이랑 똑같이 설정했는데 왜 에러가 발생하는지 모르겠습니다
답변 5
0
새소식에도 올렸으니 내용 참고해 보세요.
0
제가 해당 소스를 받아서 mysql 이 설치된 pc 에서 실행을 해보니
동일한 오류가 발생하는걸 확인하였습니다.
(mysql 이 설치되지 않는 pc 에서는 오류가 나지 않네요)
제가 해결한 방법은 version down 으로 해결했습니다.
아마도 스프링부트 버전과 자바버전등 환경의 문제로 2.7.7 이상 버전에서는
오류가 발생하는것 같아요.
아래 처리로 꼭 해결되었으면 좋겠습니다.
0
네.. 해당 부분은 아마도 부트의 버전과 자바의 버전이 안맞아서 그러지 않았나 생각이 드네요.
해당 강좌의 섹션19.작업준비(프로젝트생성 - 작업소스 포함) 에 부트 3.2.3, 자바17버전으로 프로젝트 컨버전 한 내용이 있습니다.
참고하시면 현재 버전으로도 작업 가능할것으로 보입니다.
0
아 그리고, 저는 오류는 안났지만 뭔가 화면이 나오는게 문제가 있는것 같아요
(이것때문인지는 모르겠지만, 저도 개발할때 아래의 값이 안맞으면 오류가 발생하던 기억이 있습니다.)
위 menu.html 파일에서 db 의 값을 map 을 이용해서 가져올때 key 값이 올바르지 않습니다.
위 값을 그대로 사용하기 때문에
커피No, 메뉴명의 key 값은 no, coffee 로 되어야 합니다.
우선 수정해보시고 다시한번 실행해 보시죠..
<th th:text="${prod.get('no')}">커피No</th>
<td th:text="${prod.get('coffee')}">메뉴명</td>
0
네.. 이제는 왜 안되는지 제가 다 궁금하네요.
이럴경우에는 단위테스트를 해보는게 좋은데..
제가 해당 소스로 단위테스트 하는 영상을 하나 만들어서 공유할테니
한번 참고해 보세요.
9시 정도에 올려서 여기에 경로 공유할게요.
0
유투브영상 보시고 단위테스트로 한번 확인해 보세요.
그리고, 그래도 오류가 난다면 콘솔에 있는 오류로그 보내주시면 같이 고민해볼게요.
0
안녕하세요.
우선 소스는 제가 검증이 가능하기때문에 src > main 만 압축해서 메일 보내주시면
소스체크는 해보도록 하겠습니다.
소스에 문제가 없다면, 단순하게 jdbc 를 이용해서 커넥션만 체크해 보는것도 좋을것 같아요.
good.dhkim@gmail.com
0
메일 다시 보냈습니다!!
메일이 도착하지 않는다면 깃허브에 올린 소스코드 참조해주시면 감사하겠습니다!
0
네.. github 에서 소스 받아서 그대로 실행해 보았는데, (소스 하나도 안건드리고 그대로 실행)
위와같이 잘 나오는걸 확인했습니다.
DB 연결 오류없이 , select 부분도 잘 나오구요.
그렇다면 소스에 문제가 있는게 아닌 db 접속부분에 문제가 있는 것 같아요.
mariadb 를 삭제하고 다시한번 설치해보면 어떨까 생각도 해봅니다.
해결방안에 대해 저도 확인해 보겠습니다.
0
안녕하세요
오류 내용에
Failed to initialize pool: null 이 있는것으로 보아 DB 커넥션 부분에 문제가 있을것으로 보입니다.
쿼리에 문제가 있을경우 보통 잘못된 쿼리를 에러에 같이 보여주기 때문에 위와 같이 생각할 수 있습니다.
우선 application.properties 의 DB 정보를 확인해보시고,
다음으로 Dao 를 체크하고 , 그 다음 sqlmapper 를 체크하야 하는데
혹시 모르니
CoffeeMenu.xml 파일의
SELECT no, coffee, kind, price, DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day, DATE_FORMAT(mod_day,'%Y.%m.%d') AS mod_day
FROM coffee_menu; -> FROM coffee_menu 뒤에 세미콜론 삭제도 해보시기 바랍니다.
<mapper namespace="com.boot.sailing.v1.dao.MenuDao">
<!-- 메뉴 조회 -->
<select id="doList" resultType="map">
SELECT no, coffee, kind, price,
DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day,
DATE_FORMAT(mod_day,'%Y.%m.%d') AS mod_day
FROM coffee_menu
</select>
계속해서 처리가 안된다면
강의 내용 중
섹션 7. DB 연결 Mybatis 를 사용하자
-> logback-spring.xml 설정
섹션 11. DB Transacion 기초 와 개념 이해 with Boot
-> Connection Pool - HikariCP를 만나보자
강의를 먼저 보시기 바랍니다.
DB 연결을 직접 확인하는 방법이 들어 있습니다.
꼭 해결되었으면 좋겠습니다.
그리고, 이런 과정을 통해서 어떤 상황에서 오류가 발생하는것을 알아가는것도
그냥 잘 되는것보다 많은 것을 알 수 있으니 힘내시기 바랍니다.
1
참고로
저는 DB 연결 시 3307 port 를 사용했는데
보통은 3306 port 를 사용합니다.
이부분도 한번 체크해 보시기 바랍니다.
# Configuration MariaDb
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3307/boot
spring.datasource.username=boot
spring.datasource.password=boot
0
소스는 강의자료에서 제공해주신 코드를 사용했습니다.
마리아디비 설치 후 HeidiSQL에서 세션 생성 후 쿼리문이 작동하는 것 까지 확인했습니다.


MariaDB가 잘 다운되었나 확인하기 위해 cmd 창에 mariadb -v 명령어를 입력하니
ERROR 1045 (28000): Access denied for user '유저아이디'@'localhost' (using password: NO)
이런 에러가 발생하며 접근이 거절되었습니다.
mariadb -uroot -proot 명령어를 입력하면 root 계정으로 mariadb에 접근이 가능합니다.
사용자는 root와 boot만 생성했습니다.
포트는 3307번을 이용했습니다.
접근이 거절된 유저는 제가 생성한 적이 없고, 왜 접근이 거절된지 모르겠습니다.
기존설치되어 있던 mysql은 3306포트를 사용중이며 혹시 몰라 takkill을 이용하여 3306포트를 이용하고 있는 mysql을 제거해봐도 오류가 동일합니다.
마이바티스 환경설정 조회하기 강의 부분에서 메뉴부분에러
0
59
2
자바 8버전이 선택지에 없는데 어떻게 하죠
0
71
2
zip파일 다운받아서 풀었는데도 계속 오류가 생기네요
0
182
2
가격 수정만 자꾸 에러페이지로 갑니다...ㅜ
0
267
2
오류가 이렇게 뜨는데
0
498
1
타임리프 > jsp
0
97
1
File imprt 어떤거 해야하죠?
0
129
1
검색기능이 안됩니다
0
142
2
검색기능이 안됩니다
0
173
3
500에러
0
168
2
v2 객체 만드는중 입니다
0
126
2
오류가 자꾸 나는데 왜이러는 걸까요?ㅠㅠ
0
239
5
오류가 왜 나는건지 모르겠어요
0
150
2
스프링 부트 버전
0
169
2
log.info가 적용이 안되는 문제
0
172
1
Spring Boot에서 jsp 연동 오류
0
317
1
7장 insert mapper erro 문의합니다
1
246
2
선생님 혹시 파일업로드도 알려주실수있나여?
2
594
1
선생님 혹시 세션하고 쿠키 부분 언제쯤 올려주실수있나여?
1
195
1
스프링 부트 2.x 버전 지원 중단, myBatis 추가가 안돼요
0
880
1
커뮤니티 버전에서 스프링 부트를 선택할수 없습니다.
1
347
1
안녕하세요 Ajax강의 잘듣고있습니다. 다름이 아니라 Ajax로 검색할떄 시작일이나 종료일 고객명과 같은 검색조건을 어떻게 구현해야하는지 고민을해보다 질문드립니다.
1
349
2
DB 생성시 발생 에러 관련! "Can't create table" "Error No 150. "Foreign key constraint is incorrectly formed")
1
527
0
int i = menuService.doInsert(coffee,kind,price); 이 코드 질문있어요
1
376
1





