ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 07 게시판 검색 기능 추가하기(1)
    Spring/03 MyBatis로 게시판 만들기 2023. 7. 21. 19:53
    반응형

    게시판 검색 기능 추가하기(1)

    1) 게시판 검색

    >> 검색을 누르면 optionkeyword가 컨트롤러에 전송 된다

    이제까지는 pagepageSize만 전송했지만 optionkeyword도 추가될 것이다

     

     

     

    2) MyBatis의 동적 쿼리(1) - <sql><include>

    - 공통 부분을 <sql>로 정의하고 <include>로 포함시켜 재사용

     

     

    2) MyBatis의 동적쿼리(2) - <if>

    >> if else로 사용할 수 없고, if만 사용가능

    >> A : 내용+제목, T : 제목, W : 작성자

    >> WHERE true이가 들어간 이유

          true가 없다면? WHERE ANDSQL 문법 에러가 발생한다

          그럼 AND가 없다면? 조건에 맞는게 여러개 일 수 있기 때문에 AND를 넣어줘야 한다

          조건이 연결되려면 AND, OR가 연결되어야한다

     

    if문은 위 A T W 조건중에 여러개가 맞을 수있다

    - 검색기능에서는 하나의 조건만 필요하므로 적합하지 않다

     

     

    2) MyBatis의 동적 쿼리(3) - <choose> <when>

    >> if-else와 비슷하다

    >> 번의 조건이 true라면 나머지 ,번은 실행되지 않는다

     

    LIKE() 함수

    LIKE 함수는 문자열 내에서 내가 원하는 문자열을 찾는 함수입니다

    LIKE함수는 WILDCARDS 문자들과 함께 쓰입니다

     

    와일드 카드

    >> - 언더스코어라고 부른다

     

    ex)

     

     

    2) MyBatis의 동적쿼리(4) - <foreach>

    in

    wherer bno=1, where bno=2, where bno=3 여러개 일 때는

    where bno in (1,2,3)을 사용

     

    >> collection="array"의 값을 item=“bno"에 하나씩 담고

    item="bno"의 값을 #{bno}에 전달한다

     

     

    MySQL

    >> MySQL에서는 concat을 넣어줘야한다 오라클은 X

     

    >> NOT !=의미와 같다

     

     

     

    2-1) 실습

    SearchCondition.java(작성)

    page=1, pageSize=10, offset=0;, keyword=" ";, option=" ";

        각각 기본값을 넣어주었다. 컨트롤에서 값이 안들어오면 사용하게 된다

    Getter and Setter 생성, toString 생성

    기본생성자 생성

    offset을 제외한 생성자 생성

     

     

    mybatis-config.xml

     

    boardMapper.xml

    >> 각각 생성

     

     

    boardDaoImpl.java

    >> boardMapper.xml 에 대한 메서드 생성

     

     

    boardDao.java

    >> boardDaoImpl.java 에 대한 메서드 생성

    >> boardDao.javaboardDaoImpl.java의 인터페이스

     

     

    BoardDaoImplTest.java

    >> 둘다 테스트를 통과하였다

     

     

    bgee 사용법

    >> pom.xml1,16버전을 설치해주었다

     

    >> 생성해준다

     

    logback.xml

     

    log4jdbc,log4j2,properties

     

    rootcontext.xml

     

    결과 확인

    BoardDaoImplTest.java

    >> 테스트 실행하게되면

     

    >> 콘솔창에 MySQL데이터를 시각적으로 확인할 수 있다

    >> 에러나 다른 MySQL의 에러를 좀 더 쉽게 찾아 낼 수 있다

     

     

     

     

    반응형
Designed by Tistory.