SSM 프레임 워 크 수 동 으로 페이지 논리 구현 (PageHelper 아 님)
분석:
pageNo
(몇 페이지 데이터), pageSize
(각 페이지 의 항목 수) 이다.실현 과정
1. 매개 변수 가 져 오기
여기 서 돌아 온 것 은 json 데이터 인터페이스 입 니 다. 실현 방법 은 service 층 에 있 습 니 다.
@ResponseBody
@GetMapping("/allPage")
public String findAllPage(
@RequestParam(required = true,defaultValue = "1") Integer pageNo,
@RequestParam(required = false,defaultValue = "5") Integer pageSize) {
return customerService.findAllPage(pageNo,pageSize);
}
2. 데이터 캡 처
CustomerServiceImpl.java
@Override
public String findAllPage(Integer pageNo, Integer pageSize) {
List customers = customerDao.findAll();
List
==PageUtil.java==
public class PageUtil {
private int beginIndex;//
private int endIndex;//
public List pageList(List list, int pageNo, int pageSize) {
int size = list.size();
beginIndex = (pageNo - 1) * pageSize;
endIndex = pageNo * pageSize > size ? size : pageNo * pageSize;
List resultList = list.subList(beginIndex, endIndex);
return resultList;
}
}
iter Customer () 방법
public Map iterCustomer(Customer customer) {
Map resultMap = new HashMap<>();
resultMap.put("id", customer.getId().toString());
resultMap.put("name", customer.getName());
resultMap.put("phone", customer.getPhone());
resultMap.put("email", customer.getEmail());
return resultMap;
}
JsonUtil.java
public class JsonUtil {
// jackson json
private static ObjectMapper MAPPER = new ObjectMapper();
static String jsonString=null;
public static String toJSON(Object object){
try {
//jackson object json
jsonString = MAPPER.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return jsonString;
}
}
두 번 째 방법: SQL 로 페이지 를 나 누 어 현재 페이지 에 필요 한 데이터 만 조회 합 니 다.
분석:
1. 매개 변수 가 져 오기
분석 하 다.
int maxPage =(int) Math.ceil(count/pageSize.doubleValue());
CustomerController.java
@Controller
public class CustomerController {
@Autowired
CustomerService customerService;
@ResponseBody
@GetMapping("/allSql")
public String findAllPageSql(
@RequestParam(required = true,defaultValue = "1") Integer pageNo,
@RequestParam(required = false,defaultValue = "5") Integer pageSize) {
/**
* pageSize
* pageNo ,sql ;
* : = ( - 1) *
*/
//
int count = customerService.count();
//
int maxPage =(int) Math.ceil(count/pageSize.doubleValue());
// :
pageNo = pageNo>maxPage?maxPage:pageNo;
//
int index = (pageNo - 1) * pageSize > count ? count : (pageNo - 1) * pageSize;
return customerService.findAllPageSql(index, pageSize);
}
}
2. 레이 어 링 호출 방법
CustomerServiceImpl.java
@Service
public class CustomerServiceImpl implements CustomerService {
@Autowired
CustomerDao customerDao;
@Override
public String findAllPageSql(Integer index, Integer pageSize) {
return JsonUtil.toJSON(customerDao.findAllPageSql(index, pageSize));
}
}
CustomerDao.java
public interface CustomerDao {
List findAllPageSql(Integer index,Integer pageSize);
}
3. 맞 춤 형 sql
CustomerMapper.xml
Mapper. xml 맵 파일 에서 여러 매개 변수 참고 가 져 오기:
Mybatis 의 Mapper. xml 맵 파일 sql 조회 수신 여러 매개 변수 또는
Mybatis 의 Mapper. xml 맵 파일 sql 조회 수신 여러 매개 변수
이상
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.