[MySql] Join쿼리문 mapper 작성법

DEVRANG·2022년 11월 4일
0

Spring 중고 골프용품 플랫폼 프로젝트를 하면서
고객의 지역인증에 따라 표시되는 상품리스트를 다르게 표시해야 했다.
지역(위도,경도)정보는 member(회원테이블)에 있었고
내가 구현하는 거래파트에서는 product(상품테이블)을 사용하였기에
product테이블의 seller_id(판매자아이디)와 member테이블의 user_id를
join하여 쿼리문을 만들어야했다.

사소한거지만 내가 궁금했던건 mapper에 join쿼리문을 작성 시,

엔티티명 = #{엔티티명} 을 똑같이 써도 되는가? 

가 궁금했다 ..

결론은

된다!

mapper 쿼리문

<!-- 지역인증 왔을 때 쓸 쿼리문 (성별구분X+최신순)  -->
<select id="listAll" resultType="productVO">
	select p.prod_num, p.seller_id, p.prod_name, p.prod_img, p.price, p.detail,
	p.`condition`, p.category, p.gender, p.like_count,
	p.prod_date, p.prod_img2, p.prod_img3, m.latitude, m.longitude
	from mfg_products p join mfg_member m
	on p.seller_id = m.user_id
	**where category = #{category}
	and latitude = #{latitude}
	and longitude = #{longitude}**
	order by prod_date desc
	limit #{pageStart},#{perPageNum}
</select>

p.category = ${p.category} (X)

<!-- 지역인증 왔을 때 쓸 쿼리문 (성별구분O+최신순)  -->
<select id="listAll" resultType="productVO">
	select p.prod_num, p.seller_id, p.prod_name, p.prod_img, p.price, p.detail,
	p.`condition`, p.category, p.gender, p.like_count,
	p.prod_date, p.prod_img2, p.prod_img3, m.latitude, m.longitude
	from mfg_products p join mfg_member m
	on p.seller_id = m.user_id
	where category = #{category}
	and gender = #{gender}
	and latitude = #{latitude}
	and longitude = #{longitude}
	order by prod_date desc
	limit #{pageStart},#{perPageNum}
</select> 	
profile
완주가 목표인 호랑이

0개의 댓글