사용버전
스프링부트 버전 : 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)
댓글 남기기