Google 또는 스택에서이 문제가 매우 이상하게 보입니다. 설명하겠습니다.XML ResultMap MyBatis with association
내 인터페이스 메소드의 주석에 결과 맵이 있습니다. 이 특별한 경우에만 동적 쿼리가 필요합니다. 그래서 XML 파일의 인터페이스에 대한 전체 매퍼를 작성하기로 결정한 것입니다. 아래 전체 파일을 붙여 넣습니다. 선택 쿼리는 정상적으로 수행되어야하지만 <resultMap>
과 관련된 몇 가지 어려움이 있습니다.
다른 웹 사이트에서는 일대일, 일대 다, 다 대다 관계 및이 결과 맵의 일반적 구성에 대한 좋은 설명을 찾고있었습니다.
하위 쿼리, 하위 결과 맵에이를 처리 할 수있는 가능성이 있음을 알았습니다. 하지만 이미 myBatis 주석을 사용 했으므로이를 사용하고 싶습니다. 나를지도 해 주실 수 있습니다. 어떻게 결과 맵을 구성해야합니까? 나는 생성자 판별에 필요한 참조 해달라고,하지만 여전히 소리입니다 ... (내가 <collection>
마크를 추가 한 이유입니다) - 인 IntelliJ 말 전체 <resultMap>
을 강조한다 : "The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)"
나는 그것이 명백한 것 알고 있지만, 나는 completly이 그것을 올바르게하는 방법을 모른다. 도와주세요.
는XML 매퍼 파일 :
<association>
당신이 그룹에 필요 <result>
태그와 의미, 모든 <result>
태그 뒤에 와야합니다 :
<?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="pl.net.manager.dao.UsageCounterDAO">
<select id="getUsageCounterList" resultType="pl.net.manager.domain.UsageCounter"
resultMap="getUsageCounterListMap">
SELECT * FROM usage_counter WHERE
<if test="apiConsumerIdsList != null">
api_consumer IN
<foreach item="item" index="index" collection="apiConsumerIdsList"
open="(" separator="," close=")">
#{item}
</foreach>
AND
</if>
<if test="serviceConsumerIdsList != null">
service IN
<foreach item="item" index="index" collection="serviceConsumerIdsList"
open="(" separator="," close=")">
#{item}
</foreach>
AND
</if>
<if test="dateFrom != null">
date >= #{dateFrom} AND
</if>
<if test="dateTo != null">
date <= #{dateTo} AND
</if>
<if test="status != null">
status = #{status}
</if>
</select>
<resultMap id="getUsageCounterListMap" type="">
ofType="pl.net.manager.domain.UsageCounter">
<id property="id" column="id"/>
<result property="date" column="date"/>
<result property="apiConsumer" column="api_consumer"
javaType="pl.net.manager.domain.ApiConsumer"/>
<association property="apiConsumer" column="api_consumer"
resultMap="pl.net.manager.dao.ApiConsumerDAO.getApiConsumer"/>
<result property="service" column="service" javaType="pl.net.manager.domain.Service"/>
<association property="service" column="service"
resultMap="pl.net.manager.dao.ServiceDAO.getService"/>
<result property="counterStatus" column="counter_status"/>
<result property="ratingProcessId" column="rating_process_id"/>
<result property="value" column="value"/>
<result property="createdDate" column="created_date"/>
<result property="modifiedDate" column="modified_date"/>
</resultMap>
</mapper>
은'는'당신이 태그''그룹에 필요하고 –
MohamedSanaulla