반응형
⌗ 오류 현상
11:49:08 com.test.service.serviceTest > sqlTest FAILED
11:49:08 org.mybatis.spring.MyBatisSystemException at serviceTest.java:57
11:49:08 Caused by: org.apache.ibatis.exceptions.PersistenceException at serviceTest.java:57
11:49:08 Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException at serviceTest.java:57
11:49:08 Caused by: java.sql.SQLException at serviceTest.java:57
11:49:08 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException at serviceTest.java:57
11:49:08 Caused by: java.sql.SQLException at serviceTest.java:57
⌗ 해결 방법 1
SQL문을 먼저 확인하고,
// 사용하고 있는 SQL 문 ⇢ 정상적으로 작동되는 부분 확인함
<select id="selectCategory" resultType="testDto">
SELECT cate_cd
FROM category
ORDER BY cate_cd desc
Limit 1
</select>
특이사항이 없다면 Mapper interface 에 @Repository 설정
@Repository
@BenefitSlave
public interface MapperTest {
testDto selectCategory();
}
[참고] https://okky.kr/article/619516
⌗ 해결 방법 2
위의 방법으로도 해결이 되지 않는다면,
1 ) build.gradle 파일(gradle 설정)에서 mybatis 테스트 라이브러리를 설정하고
2 ) 실행하는 테스트 코드에 @AutoConfigureMybatis 어노테이션을 추가하면 된다.
build.gradle
dependencies {
…
// test
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group:'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter-test', version: '1.3.2'
…
}
serviceTest.java
@AutoConfigureMybatis
public class serviceTest{
private final MapperTest mapperTest
…
}
반응형