이전 섹션에서는 Mybatis-Plus의 구성 및 사용에 대해 간단히 이야기합니다. 이 섹션에서는 MP를 사용하여 다중 테이블 페이지 매김을 구현하는 방법에 대해 간단히 이야기합니다.
분석
사용 된 프로젝트는 여전히 스프링 부팅입니다. 페이징과 관련하여 공식 웹 사이트는 단일 테이블의 데모를 제공합니다. 실제로 멀티 테이블 페이징의 구현 원리는 동일하며 모두 Mybatis 인터셉터를 통해
(인터셉터는 무엇을합니까? Pagination과 같이 SQL이 실행되기 전에 당신을 위해 무언가를 할 것입니다. 우리는 MP를 사용하고 한계를 신경 쓰지 않습니다. 인터셉터는 우리를 위해 그것을 스플릿으로 스플릿합니다. 우리는 총 문자 수에 신경 쓰지 않습니다. 인터셉터가 우리의 카운트를 select count(*) 하고 매개 변수 대상에 추가합니다).
성취하다
1. 인터셉터를 구성하십시오
@enableTransactionManagement@configuration@mapperscan ( "com.web.member.mapper") 공개 클래스 MyBatisPlusConfig { / ** * MyBatis-Plus SQL 실행 효율 플러그인 [생산 환경에서 꺼질 수] * / @Bean Public PerformanceInterceptor Performance Interceptor () {새 Performance Interceptor (); } / * * Pagination 플러그인, 데이터베이스 유형에서 멀티 테넌트를 자동으로 식별하면 공식 웹 사이트 [플러그인 확장] * / @Bean Public Pagination Interceptor Pagination Interceptor () {return new Pagination Interceptor (); }} 2. 맵퍼 인터페이스 및 XML
/** * <p> * 사용자 테이블 맵퍼 인터페이스 * </p> * * * @author yin tianwen * @since 2018-06-01 */public interface usermapper 확장베이스 메이프 <user> {list <userListModel> selectUserListPage (Pagination Page, @param ( "user") userListBean 사용자); }여기서는이 페이지 매김 페이지가 필요하다는 점에 유의해야합니다. 그렇지 않으면 MP는 귀하를 위해 Pagination을 구현할 수 없습니다.
<select id = "selectUserListPage"resulttype = "com.web.member.Member.Member.UserListModel"> select * from ftms_user u left join ftms_user_level l on u.level_id = l.id where 1 <if test = "user.nickname! = null"> 및 u.nickname "%"#{user.nickname} "%"</if> </select> 3. 서비스 구현
import com.web.member.beans.admin.userlistbean; import com.web.member.entity.user; import com.web.member.mapper.usermapper; import com.web.member.member.member.userlistmodel; import com.web.member.service.userservice; import com.baomidou.myboMidou com.baomidou.mybatisplus.service.impl.serviceimpl; import org.springframework.stereotype.service; import org.spramframework.transaction.annotation.transactional;/** * <p> * 사용자 테이블 구현 클래스 * </p> * * @author yin yin * @ssontince */ @servicepublic class usererViceimpl은 serviceimpl <usermapper, user> emperments inerservice {@transactional (readonly = true) @override public page <usterlistmodel> selectuserListPage (userListBean user) {page <userListModel> page = new Page <> (user.getCurr (), getnums (), getnums () 문자의 구성이 구성됩니다. 페이지 객체가 반환됩니다. }}마지막으로 결과를 페이지 객체로 설정하십시오. 페이지 객체의 JSON 구조는 다음과 같습니다.
{ "Total": 48, // 총 레코드 "크기": 10, // 페이지 당 "현재"가 표시되는 수위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.