+ 고급 검색 페이지

+ 고급 검색 페이지

2.1 배경

1.BaseQuery

공공 클래스 BaseQuery { 
   // 현재 페이지 : 기본 1L
   개인 페이지 = 1L;
   페이지 // 기본의 수 : 10L
   개인 pageSize가 = 5L;
   // 공공 분야, 의미 : 키워드
   개인 문자열 키워드를;
   // 증가 gerStart ()는,이 페이지는 얼마나 많은 첫 번째 페이징 데이터를 설정하는 데 사용
   공공 getStart () {
       반환 ( .은이 페이지 - . 1) * . 다음은이 pageSize로서을;
  }
  .....
}    

2.IBaseService <T>

    // 고급 질의 및 페이징 
   PageList 쿼리 ( BaseQuery BaseQuery);

3.BaseServiceImpl <T>

    @ 페이징 쿼리 : 조각의 총 수,이 페이지의 데이터는 
    @Override 
    공공 PageList 쿼리 (BaseQuery BaseQuery) { 
        //이 페이지의 데이터 행 
        목록 <T> = baseMapper.queryRows 행 (BaseQuery) 
        에서 System.out.println ( "- ------- --- BaseServiceImpl 층 "); 
        //이의 총 개수 체크 아웃 
        긴 총 = baseMapper.queryTotal (BaseQuery를) 
        새로운 새로운 PageList (총 행을 반환); 
    }
  1. basic_util ----> PageList <T>

/ ** 
 * 도구 탭 
 * 전체 
 * 행 
 * / 
공용 클래스 PageList <T> { 

    개인 긴 총, 조각 // 총 
    개인 목록 <T> 행 = 새로운 ArrayList를 (); // 이 페이지 쿼리 데이터 

    공개 PageList (총 긴, 목록 <T> 행) { 
        this.total = 총; 
        this.rows = 행; 
    }

5.MountingsMapper.xml

<공간 매퍼 = "cn.itsource.crm.mapper.MountingsMapper"> 
    <SELECT ID = "findall은"resultType = "마운팅"> 
        마운팅 *에서 선택 
    </ 선택> 

    <SQL ID = "wheresql"> 
        <하는지 테스트 = " ! = null이 키워드와 키워드 = '' '>! 
            <어디에> 
                와 같은 partsname CONCAT ('% '# {키워드},'% ') 
            </ 여기서> 
        </> 만약 
    </ SQL> 
    <! -高级查询,总条数-> 
    <SELECT ID = "queryTotal"resultType = "긴"parameterType = "MountingsQuery"> 
        마운팅에서 선택 수 (*) 
        <REFID = "wheresql"> </ 포함> 포함 
    > </ 선택 
    >! - 데이터 총 페이지 - <을
    <SELECT ID = "queryRows"parameterType = "MountingsQuery"resultType = "마운팅"> 
        마운팅 *에서 선택 
        </ include> 혹은 <REFID = "wheresql"등> 
        한계 번호가 시작 {}, # {pageSize가} 
    </ 선택> 

    <삽입 식 parameterType = "마운팅", "저장"> 
        마운팅 (partsname, 가격, NUM, warnnum, 문맥 CreateTime 더)에 삽입 
        된 값 (# {partsname}, # {가격}, # {NUM}, # {warnnum} # {상황}, # {CreateTime 더}) 
    </ 삽입> 
    <삭제 ID =이 parameterType = "긴"을 "삭제"> 
        ID = # {ID가} 마운팅에서 삭제 
    </ 삭제> 
    <업데이트 ID = "갱신"parameterType = "마운팅"> 
        업데이트 마운팅 세트  
        , partsname = # {partsname을}
        가격 = # {가격}
        NUM = {# NUM} 
        warnnum = {# warnnum} 
        컨텍스트 = {# 컨텍스트} 
        CreateTime 더 = #} {CreateTime 더 
         ID = # {ID} 
    </ 업데이트> 
    "긴"<SELECT ID = "loadById"= parameterType resultType = "마운팅"> 
        마운팅 ID = # {ID}로부터 선택 * 
    <선택 /> 
</ 매퍼>

6.MountingsController

    //高级查询
    @RequestMapping (값 = "/ 질의"METHOD = RequestMethod.PATCH) 
    @ResponseBody 
    공개 PageList 쿼리 (@RequestBody MountingsQuery mountingsQuery) { 
        에서 System.out.println ( "进入高级查询"); 
        에서 System.out.println (mountingsQuery); 
        PageList pageList = mountingsService.query (mountingsQuery); 
        (개체 행 : pageList.getRows ())에 대한 { 
            에서 System.out.println (행); 
        } 
        pageList를 반환; 
    }

2.2 프런트 엔드

2.2.1 조건 문의

바인딩 이벤트 : 버튼을 준비하십시오

				<엘 형식 항목> 
					<엘 버튼 타입 = "차"V-에 : 클릭 = "getMountings">查询</ 엘 버튼> 
				</ 엘 형식 항목>

반환 된 데이터의 내부 고해상도의 총 수를 얻기 위해 요청을 보낼 2. 배경은 항상 현재 페이지, 페이지를 새로 고침입니다

            사용자의 // 목록 
            getMountings () { 
                송출 파라 = { 
                    // 현재 페이지 얻을 
                    페이지 : this.page, 
                    키워드 : this.filters.keyWords을 
                }; 
                // 새로 고침 효과 
                this.listLoading = true로; 
                //NProgress.start을 () ; 
                //getUserListPage(para).then((res) => { 
                Axios의 // 전송 요청 
                .이 http.patch $ ( '/ 마운팅 / 쿼리', 파라) 그 때는 (RES => { 
                    의 // 총 
                    이 = res.data.total .total; 
                    // 현재 페이지 전체 데이터 
                    this.mountings = res.data.rows;
                    this.listLoading = 거짓; 
                    //NProgress.done (); 
                }); 
            },

2.2.2 페이징

탭 스트립을 준비하십시오

		<-分页,工具条! -> 
		<엘 - COL : 스팬 = "24"클래스 = "도구 모음"> 
			<엘 매김 레이아웃 = "이전, 호출기, 다음"@ 현재의 변화 = "handleCurrentChange"페이지 - 크기 = "5"총 = "총"> 
			</ 엘 매김> 
		</ EL-COL>

페이징 메서드를 호출합니다

            handleCurrentChange (발)는 { 
                // 브로 : 수신 페이지 정보 요구 
                ; this.page 브로 = 
                ()을 this.getMountings; 
            }



추천

출처www.cnblogs.com/htq29study/p/12080159.html