페이지네이션
적용 대상
페이지네이션을 위한 기본 정보
- 한 페이지 당 데이터 건수 -> limit값
- grid : 12건 (card 형태)
- pc : 10건 (table 형태)
- 현재 페이지 -> offset 계산
- 전체 데이터 개수와 현 페이지
- (n-1) 현 페이지의 개수
private int page;
private int size;
private int order;
- DTO(Data Transfer Object) :
- DAO(Decentralized Autonomous Organization)
- factory method
사용자와의 인터페이스 방법
페이지네이션 결과 구성하기(9p)
- 기본 구성 내용(캡슐화 필요)
- 전체 데이터 건수
- 전체 페이지 수 : 전체 데이터 건수 + 현재 페이지 번호
- 현재 페이지 번호
- 현재 페이지의 데이터 목록 : return new Page(매개변수, ... ); 사용
page 건수를 통해 리턴
목록보기/검색하기에서 사용
단위기능으로 메서드로 구분
같으면 대괄호로 묶어서 출력
다르면 그냥 출력
웹이면 css로 다르게 효과 주기
루프를 끝낸다.
Context (3p)
key는 Class
Value는 object(무엇이 와도 상관없다.)
⭐매개변수의 실제 타입을 바탕으로 리턴해준다.
public static <T> T getBean(Class<T> clazz) {
return (T) context.map.get(clazz);
}
싱글톤 객체 : 직접 운영 안하고 싱글톤 객체처럼 사용한다.
스프링 기술 : context를 통해 싱글톤 패턴으로 객체를 운영할 수 있다. 약결합으로 운영 가능
(5p)
UserDao dao = Context.getBean(UserDao.class);
Spring Context
- gradle(short) 에서 복사
- settings.gradle에서 프로젝트명 변경
- rootProject.name = 'ScoulaTodoSpring'
- build.gradle에서 스프링 추가
- dependencies에 아래 내용 추가하기
implementation 'org.springframework:spring-context:5.3.37'
' 추가
배열로 패키지명 추가
@Bean 객체 만들기
- default로 메서드명이 이름이 된다.
- map을 먼저 찾는다. 있으면 바로 리턴 / 없다면 실행한다.(호출 후 딱 한 번만 실행한다. 리턴되는 객체를 등록한다.)
- map에 있으면 리턴, 없으면 실행
- 모두 싱글톤 패턴으로 운영된다.
@Component 만들기
TodoDao 등록하기
@Autowired
- 자동으로 주입하기
- 컨텍스트에 커넥션 타입 유무 확인, 있으면 배정 / 없으면 null
- 여러개가 이름으로 연결되는 어노테이션 사용하기
Travel
- cp949 utf 파일 인코딩은 처리 못한다.
- csu 첫 줄 : no, district 이름으로 mapping함(순서가 아닌)
- build()를 만들고 parse()하기0813
- 데이터베이스는 snake_case가 기본이다.
- 자바는 camelCase가 기본이다.