주먀

7. 검색했을때 데이터 들어가기 본문

학원/Spring

7. 검색했을때 데이터 들어가기

주먀 2023. 6. 13. 15:32

SearchCriteria(type=MC이름, content=원영) 코드 하단에 null 값이 나오면 -> jsp에서 type , id가 동일한지 확인하기

1)jsp

2)jsp ${}

--> .java

--> .class 

--> .html ${}

3)자바스크립트 코드는 html 해석이 된다.

 

1. mysql

1.1. 프로그램명으로 검색하면

WHERE PROGRAM_NM LIKE '%?%;

1-2. MC이름으로 검색하면

WHERE FIXING_CAST_NM LIST '%?%'

1-3. 초기시작 ( 검색을 하지 않았을 때 )

WHERE PROGRAM_NM = '뮤직뱅크'

 

2. BroadCastController

-  SearchCriteria 매개변수 변경

 

3. BroadCastMapper.java

- SearchCriteria 매개변수 변경

public BroadCast getRating(SearchCriteria cri);

 

4. BroadCastMapper.xml

4-1. getRating 구문 찾아주기

4-2. 매개변수 받아오면 무조건 parameterType 적고 내용도 매개변수로 적는다.

4-3. sql문 동적으로 변경

4-4. include 태그 추가 ( 따로 만드는 태그 )

<select id="getRating" parameterType="kr.smhrd.entity.SearchCriteria"  resultType="kr.smhrd.entity.BroadCast">
		SELECT
		PROGRAM_NM,
		ROUND( AVG (
		MALE_RT ) , 3 ) AS MALE_RT,
		ROUND ( AVG( FEMALE_RT ) , 3 ) AS
		FEMALE_RT,
		ROUND ( AVG( WTCHNG_RT ) , 3 ) AS WTCHNG_RT
		FROM COM.BROADCAST
		<include refid="searchOption"/>
        GROUP BY PROGRAM_NM
	</select>

4-5. sql 태그 추가 ( | -> 버티컬바 )

	<sql id="searchOption">
		<if test="type == null">
		WHERE PROGRAM_NM = '뮤직뱅크'
		</if>
		<if test="type == '방송제목'">
		WHERE PROGRAM_NM LIKE CONCAT('%',#{content},'%')
		</if>	
		<if test="type == 'MC이름'">
		WHERE FIXING_CAST_NM LIKE CONCAT('%',#{content},'%')
		</if>	
	</sql>