Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 라우터
- autoset
- VLAN
- php
- 데이터베이스
- jsp
- Cisco
- 이것이 자바다
- sql
- 자바
- html
- 정처기필기
- 정보처리기사
- Java
- w3school
- javaee
- ospf
- jsp연결
- 네트워크
- 참조타입
- 네트워크관리사
- cisco packet
- 버추얼머신
- ciscopacket
- NCS
- rinux
- 원형그래프
- 오라클
- Oracle
- 리눅스
Archives
- Today
- Total
기록해! 정리해!
JPAJarThymeleaf-2 (Pageable, JPQL,네이티브쿼리) 본문
* page 임포트할때 domain 임
1. Pageable
1)
List<Board> findByTitleContainingOrWriterContaining(String str1, String str2, Pageable paging);
2)
@Test
public void selectLike() {
Pageable paging = PageRequest.of(0, 3); //(페이지번호, 페이지 사이즈)
List<Board> li1 =boardRepo.findByTitleContainingOrWriterContaining("J", "닭", paging);
for(Board m1 : li1) {
System.out.println(m1);
}
}
>>
+ 정렬
@Test
public void selectLike() {
Pageable paging = PageRequest.of(0, 3, Sort.Direction.DESC,"seq"); // (페이지번호, 페이지 사이즈)
List<Board> li2
=boardRepo.findByTitleContainingOrWriterContaining("JPA", "만수", paging);
for(Board m2 : li2) {
System.out.println(m2);
}
}
2.
Page<Board> findByTitleContaining(String str1, Pageable paging);
@Test
public void selectLike() {
Pageable paging = PageRequest.of(0, 3, Sort.Direction.DESC,"seq"); // (페이지번호, 페이지 사이즈)
Page<Board> li2
=boardRepo.findByTitleContaining("JPA", paging);
for(Board m2 : li2) {
System.out.println(m2);
}
}
3. pageInfo
Page<Board> findByTitleContaining(String str1, Pageable paging);
@Test
public void selectLike() {
Pageable paging = PageRequest.of(0, 3, Sort.Direction.DESC,"seq"); // (페이지번호, 페이지 사이즈)
Page<Board> pageInfo=boardRepo.findByTitleContaining("J", paging);
System.out.println("Page SIZE:" + pageInfo.getSize());
System.out.println("TotalPages :" + pageInfo.getTotalPages());
System.out.println("TotalElements:" + pageInfo.getTotalElements());
System.out.println("nextPageable:" + pageInfo.nextPageable());
Page<Board> li2
=boardRepo.findByTitleContaining("JPA", paging);
for(Board m2 : li2) {
System.out.println(m2);
}
}
4. JPQL
- 연관관계 (join)
- 네이티브 쿼리 사용시
+위치기반 파라미터 사용하기
@Query ("SELECT b FROM Board b WHERE b.title like %?1% ORDER BY b.seq DESC")
List<Board> queryAnnotationTest1(String str);
%?1% : 첫번째위치
%?2% : 두번째위치
@Test
public void selectLike() {
List<Board> li2=boardRepo.queryAnnotationTest1("JPA");
for(Board m2 : li2) {
System.out.println(m2);
}
}
>>
+ 이름 기반 파라미터 사용하기
// 이름 기반 파라미터 사용하기
@Query("SELECT b FROM Board b WHERE b.title like %:str1% ORDER BY b.seq DESC")
List<Board> queryAnnotationTest2(@Param("str1") String str1);
@Test
public void selectLike() {
// 위치기반
List<Board> li2=boardRepo.queryAnnotationTest1("JPA");
for(Board m2 : li2) {
System.out.println(m2);
}
// 이름 기반
List<Board> li3=boardRepo.queryAnnotationTest2("R");
for(Board m3 : li3) {
System.out.println(m3);
}
}
+ 특정 컬럼만 사용하기
// 특정 컬럼만 사용하기
@Query("SELECT b.seq, b.title FROM Board b WHERE b.title like %?1% ORDER BY b.seq DESC")
List<Object[]> queryAnnotationTest3(String str);
}
List<Object[]> li4 = boardRepo.queryAnnotationTest3("R");
for(Object[] m4 : li4) {
System.out.println(Arrays.toString(m4));
}
}
5. 네이티브 쿼리 사용하기 (SQL)
(컬럼명, 테이블 명을 사용한다)
@Query(value="select seq, title, writer from board1019 where title like '%'||?1||'%' order by seq", nativeQuery=true)
List<Object[]> queryAnnotationTest4(String str);
List<Object[]> li5 = boardRepo.queryAnnotationTest4("J");
for(Object[] m5 : li5) {
System.out.println(Arrays.toString(m5));
}
+ 날짜
'SpringBoot' 카테고리의 다른 글
JPAJarThymeleaf-2 (Junit 연습문제) (0) | 2022.10.19 |
---|---|
JPAJarThymeleaf-2 (Member) (0) | 2022.10.19 |
JPAJarThymeleaf-2 (Test) (0) | 2022.10.19 |
JPAJarThymeleaf-2 (Board, QLogin) (0) | 2022.10.19 |
JPAJarTymeleaf-1 검색하기 ( 동적 DSL 사용하기 ) (0) | 2022.10.18 |
Comments