간단하고 JPA 기본 탭 어셈블리를 사용 Sprinboot

A, pom.xml 파일 구성 파일
 
<의존성> 
    <의 groupId> org.springframework.boot </의 groupId> 
    <artifactId를> 스프링 부팅 스타터 데이터 JPA </ artifactId를> 
</ 의존성> 
<의존성> 
    <의 groupId> org.springframework.boot </의 groupId> 
    <artifactId를> 스프링 부팅 스타터 thymeleaf </ artifactId를> 
</ 의존성> 
<의존성> 
    <의 groupId> org.springframework.boot </의 groupId> 
    <artifactId를> 스프링 부팅 스타터 웹 </ artifactId를> 
</ 종속 > 
<의존성> 
    <의 groupId> org.springframework.boot </의 groupId> 
    <artifactId를> 스프링 부팅 DevTools로 </ artifactId를> 
    <분야> 런타임 </ 범위>
</ 의존성> 
<의존성> 
    <의 groupId> MySQL의 </의 groupId> 
    <artifactId를> MySQL을 커넥터 자바 </ artifactId를> 
    <분야> 런타임 </ 범위> 
</ 의존성>

  

 
둘째, 관련 코드
 
엔티티 :
 
@Entity 
@Table (이름 = "사용자 정보") 
공용 클래스 사용자 정보가 직렬화 {구현 
    @Id 
    @GeneratedValue 
    개인 긴 사용자 ID를; 
    개인 문자열 이름; 
    개인 문자열 비밀 번호; 
    개인 INT 연령, 
    省略게터 및 세터 
}

  

 
DAO :  만 JpaRepository을 상속 할 필요가, 당신이 PagingAndSortingRepository 더 많은 기능을 상속 할 수 있습니다 곳은 가장 간단한 데모
공용 인터페이스의 UserInfoDao는 JpaRepository <사용자 정보, 롱>, 직렬화를 {확장 
 
}
 
서비스:
공중 인터페이스 UserInfoService { 
    //分页查询
    페이지 <사용자 정보> findByPage (페이징 가능한 페이징); 
}
 
ServiceImpl에서는 :
@Service 
@Transactional 
Public 클래스 UserInfoServiceImpl는 UserInfoService가 구현 { 
    @Override 
    공개 페이지 <사용자 정보> findByPage (페이징 가능한 페이징) { 
        userInfoDao.findAll (페이징)을 반환; 
    } 
}
 
제어 장치:
페이징 할 수있는 여러 가지 방법을 정의하지만, 정보의 핵심은 두 가지입니다 : 첫째, 정보 (페이지 크기 (제한)) 페이징, 두 번째는 정보의 일종이다. 스프링 데이터 JPA PageRequest의 구체적인 구현은 스프링 MVC는 우리가 단지 매김하고 주문 정보를 제공, 스프링 데이터 JPA에 대한 아주 좋은 지원을 제공합니다 :
//分页
@RequestMapping ( "/리스트") 
공중 문자열 pageUser (@RequestParam (값 = "시작"DEFAULTVALUE가 = "0") 정수 시작 
                       @RequestParam (값 = "제한"DEFAULTVALUE은 = "10") 정수 한도 , 
                       모델 모델) { 
    <0을 시작 = 시작? 0 : 시작; 
    정렬 종류 = 새로운 정렬 (Sort.DEFAULT_DIRECTION, "용자 ID"); 
    Pageable를 페이징 (일종의 시작 제한) = 새로운 PageRequest; 
    페이지 <사용자 정보> = userInfoService.findByPage 페이지 (페이징 가능); 
    model.addAttribute ( "페이지"페이지) 
    반환 "사용자 / 사용자 목록"; 
} 
//分页JSON 
@RequestMapping ( "/ pagejson") 
@ResponseBody
공개 페이지 <사용자 정보> pageUser (@PageableDefault (값 = 15, 정렬 = "용자 ID"방향 = Sort.Direction.ASC) 페이징 페이징 가능한) { 
    userInfoService.findByPage (페이징)을 반환; 
}
 
셋째, 객체와 JSON을 반환
 
쉽게 볼 수 객체에 대한 JSON 형식을 반환 페이징 :
{ 
    "내용": [ 
        { 
            1, "용자 ID" 
            "이름": "사사" 
            , "E": "비밀번호" 
            "나이": 123 
        }, 
        { 
            "용자 ID": 11, 
            "사용자 이름": "问问", 
            "비밀번호 ":"w ", 
            "나이 ": (121) 
        } 
    ], 
    "페이징 ": { 
        "종류 ": { 
            " "진정한 분류 
            "분류되지 않은 : "거짓 
            " "빈 : 거짓 
        }
        "오프셋"0 
        "pageSize가"15 
        "PAGENUMBER"0  
        "페이징"사실,
        "unpaged"거짓 
    }
    "totalElements": 16, 
    "totalPages": 2, 
    "마지막"거짓, 
    "번호": 0, 
    "크기": 15, 
    "종류": { 
        "분류"사실, 
        "분류되지 않은"거짓, 
        "빈" : 거짓 
    }, 
    "numberOfElements": 15, 
    "최초의"진정한 
    "빈"거짓 
}
 
JSON은 Pageable를의 상관 특성을 보여주고, 직접 사용할 수있는,
여기 사용 thymeleaf 템플릿, 그래서 전에 생략 도입 한 후, 다음과 같이 템플릿, 핵심 디스플레이 데이터를 렌더링하는 최초의 컨트롤러를 사용하고 있습니다.
 
<표 클래스 = "테이블 테이블 호버"> 
    <THEAD> 
    <TR> 
        <일> ID </ 일> 
        이름 <일> </ 일> 
        <일> 비밀번호 </ 일> 
        <일> 세 </ 일> 
        < 일> 세부 </ 일> 
        <제>操作</ 일> 
    </ TR> 
    </ THEAD> 
    <TBODY> 
    <TR 번째 각 = "사용자 $ {} page.content"> 
        <범위 = "로우"일 : 제 텍스트 = "$ {user.getUserid ()}"> 2 </ 일> 
        <번째 : 제 텍스트 = "$ {user.getUsername ()}"> 레오 </ 일> 
        <번째 : 제 텍스트 = "$ {user.getPassword ()} "> PWD </> 제 
        <제 번째 : 
    </ TR>텍스트 = "$ {user.getAge는 ()}"> (13)는 </ TH는> 
        <TH> <A th:href="@{/user/findById(id=${user.getUserid()})}">보기 </A> </ 일> <! - 코드는 삭제 될 수 있습니다, 표시되지 않습니다 구현하거나 구현한다 ->
        <일> <a th:href="@{/user/deleteById(id=${user.getUserid()})}">删除</A> </ 일> <! -代码中未给出实现,可删除或自己实现->
    </ TBODY> 
</ 테이블> 
<UL 클래스 = "목록 그룹"> 
    <LI 클래스 = "목록 그룹 항목"> 
        일 <클래스 = "BTN 기본"HREF = "@ {/ 사용자 / 목록 (시작 = 0)} "> [首页] </a>에   
        <클래스 =" ": 제 경우 ="BTN 기본 $ {되지 page.isFirst ()} ": 제 HREF ="@ {/ 사용자 /리스트 (시작 = $ {page.number-1})} "> [上页] </a>에   
        <클래스 =" ": 제 경우 ="BTN 기본 $ {되지 page.isLast ()} ": 제 HREF = "@ {/ 사용자 /리스트 (시작 = $ {page.number + 1})}"> [下页] </a>를   
        <번째 클래스 = "BTN 기본"HREF = "@ {/ 사용자 / 목록} "> [末页] </A> (= $ {1} page.totalPages 시작) 
    </ 리> 
</ UL>
 
 
 다른 넷째, 참조
 
: 또 다른 기사를 참조 할 수  https://www.tianmaying.com/tutorial/spring-jpa-page-sort (스프링 MVC와 스프링 데이터 JPA 통합 : 페이징 및 정렬)
등 PagingAndSortingRepository, Pageable를 객체의 세부 사항,하지만 단지 JSON 데이터를 반환하지만 빠른 프런트 엔드를 달성하기 위해, Thymeleaf 반환 객체를 사용하고 해결.
 
 

추천

출처www.cnblogs.com/kingstar718/p/10972700.html