[Spring Boot] Mybatis Plus 3. X 조건 조회
앞에서 블 로그 '[Spring Boot] Mybatis Plus 2. X 조건 조회' 를 쓴 적 이 있 습 니 다. 우 리 는 Mybatis Plus 2. X 와 3. X 가 조 회 를 실현 하 는 방식 이 다르다 는 것 을 알 고 있 습 니 다. 본 블 로 그 는 3. X 버 전의 각종 조회 방법의 응용 을 정리 할 것 입 니 다.
【 실례 】
다음은 문장 표 의 조 회 를 예 로 들 어 몇 가지 서로 다른 조회 방법의 사용 을 보 여 준다.
1. 문장 항목 번호 에 따라 해당 항목 아래 의 모든 문장 조회
public List searchByCatId(Integer catId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Article::getCatId,catId);
List articles = articleMapper.selectList(queryWrapper);
articles.forEach(x-> System.out.println(" :" + x.getCatId() + ", :" + x.getTitle()));
return articles;
}
여기 서 사용 하 는 것 은 Query Wrapper 구조 조회 조건 입 니 다. eq 를 사용 하여 해당 항목 의 번호 조건 을 실현 하고 selectList 방법 은 모든 조건 을 만족 시 키 는 글 집합 을 되 돌려 줍 니 다.
2. 글 의 주 키 id 를 통 해 특정 글 조회
public Article searchOne(Integer id) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Article::getId,id);
Article article = articleMapper.selectOne(queryWrapper);
return article;
}
상기 코드 는 LambdaQuery Wrapper 구조 조회 조건 을 직접 사용 하고 eq 를 사용 하여 해당 번호 조 회 를 실현 하 며 selectOne 방법 은 특정한 글 기록 을 되 돌려 줍 니 다.
selectOne 조 회 를 사용 할 때 주의해 야 할 것 은 결 과 는 한 가지 만 있어 야 하고 여러 가지 경우 에 오류 가 발생 할 수 있다 는 것 이다.
3. 글 의 키워드 에 따라 조건 에 맞 는 모든 글 을 모호 하 게 조회
public List searchMore(String keywords) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(Article::getKeywords,keywords);
List articles = articleMapper.selectList(queryWrapper);
articles.forEach(x-> System.out.println(" :" + x.getKeywords() + ", :" + x.getTitle()));
return articles;
}
상기 코드 는 LambdaQuery Wrapper 구조 조회 조건 을 사용 하고 like 를 사용 하여 전후 모호 조건 을 실현 하 며 selectList 방법 은 모든 조건 에 부합 되 는 글 결 과 를 되 돌려 줍 니 다.
4. 지도 구조 조회 조건 을 사용 하여 조회 문장 코드 에 따라 정확하게 조회
public List searchMoreByMap(String code) {
Map queryMap = new HashMap<>();
queryMap.put("code",code);
List articles = articleMapper.selectByMap(queryMap);
articles.forEach(x-> System.out.println(" :" + x.getCode() + ", :" + x.getTitle()));
return articles;
}
저 희 는 map 구조 조건 을 사용 할 수 있 습 니 다. key 에 대응 하 는 데이터베이스 열 이름 입 니 다. value 는 데이터베이스 필드 의 값 에 대응 합 니 다. 이 조회 조건 은 selectMap 방법 이 정확 한 조 회 를 실현 하 는 것 과 같 습 니 다.
5. 삭제 되 지 않 은 모든 글 을 페이지 별로 조회
public PageResult searchArticlePage(Integer page, Integer size) {
IPage articleIPage = new Page<>(page,size);
QueryWrapper articleQueryWrapper = new QueryWrapper<>();
articleQueryWrapper.lambda().eq(Article::getIsDeleted,0);
IPage iPage = articleMapper.selectPage(articleIPage, articleQueryWrapper);
PageResult pageResult = new PageResult<>();
pageResult.setItems(iPage.getRecords());
pageResult.setTotal(iPage.getTotal());
System.out.println(" :" + pageResult.getTotal());
return pageResult;
}
IPage 대상 을 구성 하여 현재 페이지 와 각 페이지 의 수량, Query Wrapper 구조 조회 조건, selectPage 방법 으로 페이지 별 조 회 를 실현 합 니 다.
페이지 를 나 눌 때 문제 가 발생 했 습 니 다. 되 돌아 오 는 Total 수량 은 0 입 니 다. 해결 방안 은 pagehelper 를 참조 하면 이 인용 을 제거 하고 my batis - plus 페이지 플러그 인 설정 을 추가 하 는 것 입 니 다.
코드 는 다음 과 같 습 니 다:
@Configuration
public class MybatisPlusConfig {
/**
* mybatis-plus
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor();
page.setDialectType("mysql");
return page;
}
}
상기 코드 는 이전에 통 합 된 3. X 버 전의 생 성 코드 설정 프로젝트 에서 주소: Mybatis Plus 3. X 조회 응용
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Spring Boot] Mybatis Plus 3. X 조건 조회X 가 조 회 를 실현 하 는 방식 이 다르다 는 것 을 알 고 있 습 니 다. 여기 서 사용 하 는 것 은 Query Wrapper 구조 조회 조건 입 니 다. eq 를 사용 하여 해당 항목 의 번호 조건 을 실현...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.