<<복습>>
<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에서 살짝 변경하는 일을 할 것임.
'멀티캠퍼스 > 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 |