본문 바로가기
멀티캠퍼스/Spring

230914(목)

by 세크레투스 2023. 9. 14.
반응형
SMALL

<<복습>>

<JS/JQuery>

1. $() === jQuery()

- $(document) 는 DOM 루트이다.

- $(this) : 현재 인스턴스에 대한 참조

* 일반함수 : this -> window

* 이벤트핸들러 : this -> 이벤트를 발생시킨 객체

- $(document).load(function(e) { ... }); : load 이벤트 핸들러 설정

- $(a).click(function(e) {...}); -> 이거는 <a> 태그 뒤에 넣어줘야 효과가 있음. 그래서 거의 안쓰임.

- function(e)의 e : event 객체

- form : submit

- a : href 주소 이동

* 속성에 대한 제어

- attr(속성명) : 속성명 필수, 현재 값 추출 용도

- attr(속성명, 변경값)

 

<<본수업>>

<검색 기능과 SQL>

- 제목/내용/작성자와 같이 단일 항목 검색

- 제목 or 내용, 제목 or 작성자, 내용 or 작성자, 제목 or 내용 or 작성자와 같은 다중 항목 검색

- select 문의 where 절이 경우에 따라 다양한 모양을 가짐

where title like '%검색어%'

 

<MyBatis의 동적 SQL>

1. MyBatis의 동적 태그들

- <if test="조건"> SQL문 </if>

- 조건이 참인 경우에만 SQL문이 추가됨

- T : title

- C : contcat

- W : writer

 

2. MyBatis의 동적 태그들 - choose

 

3. MyBatis의 동적 태그들 - trim, where, set

- if문이 false가 되어 sql이 문장이 추가 되지 않으면 where절은 필요없음

- <where>, <set>

* 실제 문장이 추가될 때만 where, set 절을 구성

* bno 값이 존재하는 경우 : select * from tbl_board where bno = 33;

* bno 값이 존재하지 않는 경우 : select * from tbl_board;

- <trim> : 주로 forEach문과 같이 사용됨.

* 추가되는 SQL 문의 앞뒤에 있는 문자열 추가

* <trim prefix="OR"> : 맨 앞에 나오는 OR 추가

* <trim suffix="OR"> : 맨 뒤에 나오는 OR 추가

* <trim ... prefixOverrides = "OR"> : 추가되는 SQL문 앞에 OR 제거

 

<검색 조건 처리를 위한 Criteria의 변화>

1. Criteria에 검색 정보 추가

- 검색 대상과 검색어 추가

private String type;

private String keyword;

 

- type

* T : title

* C : content

* W : writer

"TCW".split("") -> [ "T", "C", "W" ]

 

 

<select id="getList" resultType="BoardVO">

<!-- xml의 특수 태그, CDATA의 뜻 : CompiledDATA -> 이미 컴파일이 되어있으므로 그냥 쓰면 된다는 의미임. 

CDATA 쓰는 이유 : where절을 쓴다고 가정했을 때, 꺽쇠 부분 때문에 => where bro <10; -->

<!-- <![CDATA[ select * from tbl_board ]]> -->

select * from tbl_board

</select>

 

<!-- 호출 시 객체 1개가 매개변수로 전달됨. -->

<insert id="insert">

insert into tbl_board(title, content, writer)

values

(#{title}, #{content}, #{writer})

</insert>

 

<insert id="insertSelectKey">

insert into tbl_board(title, content, writer)

values (#{title},

#{content}, #{writer})

 

<!-- table pk 필드명 : bno / keyColumn은 setBno로 값을 세팅하라는 뜻임. -->

<selectKey resultType="Long" keyProperty="bno"

keyColumn="bno" order="AFTER">

SELECT LAST_INSERT_ID()

</selectKey>

</insert>

 

<!-- #{변수명}의 변수명은 아무 이름이나 들어가도 상관 없음. -->

<!-- 매개변수 primitive 값 1개 (String) == #{bno} -->

<!-- resultType은 생략해도 상관 없음. -->

<!-- bno는 primary key임. -->

<select id="read" resultType="BoardVO">

select * from tbl_board where bno =

#{bno}

</select>

 

<화면에서 검색 조건 처리>

1. 화면에서의 검색

- 페이지 정보와 함께 검색어 조건도 같이 전송되야 함

- 검색 버튼 클릭 시 새로 검색한다는 의미로 1페이지로 이동

- 한글 검색어에 대한 url 인코딩

- align-items : 수직방향 정렬

- justify-content-between : 수평방향 정렬

 

<화면 조회 처리>

<다음시간에 할 일>

travel을 list에서 살짝 변경하는 일을 할 것임.

반응형
LIST

'멀티캠퍼스 > Spring' 카테고리의 다른 글

230916 (토)  (0) 2023.09.16
230915 (금)  (0) 2023.09.15
230913 (수)  (0) 2023.09.14
230912 (화)  (0) 2023.09.12
20230911 (월)  (0) 2023.09.12