에러 해결
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is with root cause 에러 해결
인지용
2022. 8. 16. 18:51
mybatis 사용 중 에러가 발생하였다.
세팅
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
</settings>
<typeAliases>
<typeAlias alias="array" type="java.util.Arrays" />
<typeAlias alias="list" type="java.util.List" />
<typeAlias alias="hashMap" type="java.util.HashMap" />
<typeAlias alias="int" type="java.lang.Integer" />
<typeAlias alias="bigint" type="java.lang.Long" />
<typeAlias alias="string" type="java.lang.String" />
</typeAliases>
<typeHandlers>
</typeHandlers>
</configuration>
문제의 쿼리
<select id="selectCodeInfo" parameterType="String" resultType="codeDto">
/* selectCodeInfo */
SELECT t1.client_id as client_id
,t1.redirect_uri as redirect_uri
FROM testTable t1
WHERE 1=1
AND t1.client_id = #{clientId}
</select>
뭐가 문제인지 보이는가?....
이것 때문에 3시간 삽질했다...
원인
alias와 parameterType의 대소문자가 달라서 생긴 문제였다.
typeAliases에서 정한 alias는 소문자 string이었는데
쿼리의 parameterType은 대문자 string이어서 그렇다
해결 방법
alias와 parameterType의 대소문자를 잘 보고 사용하자 ㅠㅠ