study/java
Error querying database. Cause: java.lang.UnsupportedOperationException
Blueberry_Child
2022. 2. 5. 14:58
mybatis 를 이용해서 쿼리문 이용하다가 에러가 났다.
이유는,
PostRepository.java
package com.poscoict.jblog.repository;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.poscoict.jblog.vo.PostVo;
@Repository
public class PostRepository {
@Autowired
private SqlSession sqlSession;
public List<PostVo> getPost(String blog_id) {
return sqlSession.selectList("post.fintByid",blog_id);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="post">
<select id="findByid" parameterType="string" resultType="list">
<![CDATA[
select *
from post
ORDER BY no DESC;
]]>
</select>
</mapper>
PostRepository에서 list로 쿼리 결과값을 받아서 그럼 post.xml에서도 list로 반환하겠지? 라고 생각했는데
아니였다.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="post">
<select id="findByid" parameterType="long" resultType="postvo">
<![CDATA[
select *
from post
where category_no=#{category_no}
ORDER BY no DESC;
]]>
</select>
</mapper>
List<PostVo>로 받기 때문에
resultType을 PostVo의 별칭인 postvo로 설정해주니깐 됐다!!!