728x90
반응형

JDBC 연결 설정 후 테스트 코드 작성 및 실행중 에러가 발생했다.

"Connection is closed"

 

 

에러 내용 :

java.lang.IllegalStateException: java.sql.SQLException: Connection is closed

at co m.hello.hellospring.repository.JdbcMemberRepository.save(JdbcMemberRepository.java:47) 
at co m.hello.hellospring.service.MemberService.join(MemberService.java:24) 
at com.hello.hellospring.service.MemberServiceIntegrationTest.회원가입(MemberServiceIntegrationTest.java:28)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)

 

 

 

해결 :

JDBC 연동관련 repository 소스에서

close() 함수 내부의 기존 conn.close()close(conn)으로 변경해주니 바로 해결되었다.

 

JdbcMemberRepository.java

 

 

오늘도 에러 해결 완료! (오 에 해 완!)

728x90
반응형
728x90
반응형

Test가 정상 통과로 작동해야 하는데 에러가 발생했다.

데이터베이스 커넥션 오류 발생!

 

에러 내용 :

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-200]....

 

해결 :

application.properties 파일에 코드 한 줄 추가로 해결 완료!

 

application.properties

 

 

 

스프링부트 2.4부터는 아래 코드가 없을 경우

...Wrong user name or password... 에러가 발생한다고 한다.

spring.datasource.username=sa

 

 

 

728x90
반응형
728x90
반응형

인프런 강의를 들으며 JDBC 연결 관련 test 코드를 세팅하다가

@Transactional 애노테이션 import가 안되는 에러 발생!

사용 DB : H2 Database

 

 

 

해결 방법

build.gradle파일 내부 의존성 코드 두 줄을 추가하였다.

implementation("org.springframework.boot:spring-boot-starter-jdbc")
runtimeOnly("com.h2database:h2")

 

의존성 코드를 추가하고 난 뒤에 Gradle refresh를 해주기 위해

오른쪽 부분에 떠있는 작은 돌고래 모양의 버튼 클릭

(Road Gradle Changes 단축키:Ctrl + Shift + O)

또는 Gradle 창에서 Reload 해주면 수정사항이 반영되어

에러났던 코드로 돌아가 다시 import 시도하니 정상적으로 됨.

728x90
반응형
728x90
반응형

인텔리제이 설정창에서

[ Editor > General > Code Folding ]

Java 영역에서 One-line methods 체크를 해제하면 된다.

 

728x90
반응형
728x90
반응형

우당탕탕 우여곡절 끝에 정상적으로 작동 확인!!

 

 

H2 Database 공식 다운로드 링크

https://www.h2database.com/html/download-archive.html

 

처음에 Window Installer 파일을 설치했다가 

cmd에서 실행이 원활하게 되지 않아서 잠시 멘붕.

삭제 후 zip 파일을 설치했는데도 동일해서 2차 멘붕. 

 

실수로 cmd가 아닌 PowerShell로 실행을 했어서 안되었던 것 같다.

멋지게 cmd창에서 cd로 h2 파일 경로를 들어가서

dir로 파일 확인해서 실행하는 것 보다는

편하게 h2.bat 또는 h2w.bat 파일을 더블클릭으로 실행하면

정상적으로 h2 DB가 화면에 뜬다.

 

그런데 연결 및 연결 시험이 모두 안되었는데..

오류 내용 뒷부분에는

90149-200] 90149/90149 

파일이 없다는 안내문구..

임의로 해당 경로에 텍스트 파일을 만들고

다른 이름으로 저장(모든파일 선택)후

Server로 변경 후 연결 시도를 바로 해보니 실행 완료!

테이블 생성이 안된 이유....역시나 오.타.

728x90
반응형

+ Recent posts