사용버전
스프링부트 버전 : 2.7.0 - mybatis
라이브러리 commons-lang3 추가
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency>
board.xml
<select id="getList" resultType="kr.so.songjava.mvc.domain.entity.Board"> SELECT B.BOARD_SEQ, B.BOARD_TYPE, B.TITLE, B.REG_DATE FROM T_BOARD B <where> <if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(keyword)"> AND B.TITLE LIKE CONCAT('%', #{keyword}, '%') </if> <if test="@org.apache.commons.lang3.ObjectUtils@isNotEmpty(boardTypes)"> AND B.BOARD_TYPE IN ( <foreach collection="boardTypes" item="value" separator=","> #{value} </foreach> ) </if> </where> ORDER BY B.REG_DATE DESC </select>
1) json 객체 출력용 파라미터 객체
BoardDTO
import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; /** 데이터를 가져올시 파라미터 */ @Data @AllArgsConstructor @NoArgsConstructor @Builder @ToString public class BoardDTO { private int boardSeq; private BoardType boardType; private String title; private String contents; private String keyword; }
enum
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat.Shape; import lombok.AllArgsConstructor; import lombok.Getter; /**게시판 종류*/ @JsonFormat(shape = Shape.OBJECT) // 추가 @AllArgsConstructor @Getter public enum BoardType { NOTICE("NOTICE", "공지사항"), FAQ("FAQ" ,"자주묻는질문"), INQUIRY("INQUIRY" ,"1:1문의") ; //@JsonValue // 추가 private String code; private String label; }
2) 검색용 파라미터 객체
BoardSearchParameter
import lombok.Data; @Data public class BoardSearchParameter { private String keyword; private List<BoardType> boardTypes; //배열로 다중 검색 처리를 위해 , NOTICE, FAQ,INQUIRY }
3) controller 사용
/** 게시판 목록리턴 */ @GetMapping({"","/"}) @ApiOperation(value="목록조회", notes="게시물 번호에 해당하는 목록정보를 조회할수 있습니다.") public BaseResponse<List<BoardDTO>> getList(@ApiParam BoardSearchParameter boardSearchParameter){ return new BaseResponse<List<BoardDTO>>(boardService.getList(boardSearchParameter)); }
소스 :
댓글 ( 4)
댓글 남기기