스프링 부트 9일차

선장원·2022년 1월 14일
1

SpringBoot

목록 보기
10/18

9일차 (01/14)

스프링 부트

  • 쿼리 스트링 : 주소에 ?를 사용해서 값을 보내는 방식

  • 삼항연산자 : 자바에서 쓰이는 기초 연산자이다

위의 if문과 아래 삼항연산자는 같은 공식이다

뭔가 잘못 사용하면 더 어려워 보일거같은데

페이징

설정

BoardPagingDTO

페이징용 DTO를 만들어준다 그냥 디테일로 해도 상관 없는 듯?

PagingConst

페이징용 상수 클래스를 하나 만들어준다

서비스

  1. 페이지
  2. 글 갯수
  3. 오름차순, 내림차순
  4. 기준 단, Entity클래스의 필드이름 기준으로 해야함(여기서 _를 인식을 못함)

.map() : Entity클래스를 안에서 DTO로 바꿔주는 기능 같은 느낌?????

Page클래스에만 있는건가?

컨트롤러

리스트는 따로 가져오고
startPage와 endPage는 따로 컨트롤러에서 계산을 해서 보내줘야 함
startPage는 전에 쓰던거랑 비슷한데

endPage는 삼항연산자를 써서 그런가 조금 어렵긴한데 비슷한 느낌
페이지카운트 메서드를 안쓰고 페이징 메서드로 한번에 다 구해와서 더 편한?

html

타임리프에서도 삼항연산자를 써서 사용하네

html에서 타임리프로 작성하는 주소값 /board(page=1) 이런식으로 보낸다

그럼 여러개 보내면 /board(page=1, var=1) 이건가 /board(page=1 & var=1)이건가

boardList.first = isFirst()
boardList.number = getNumber()

이런식으로 앞에 메서드 부분을 지우는 건가

검색

내가 만들어서 조금 이상하다

html

컨트롤러

서비스

타입을 나누는 방법을 리포지토리에서 하려고 했는데 어려워서 포기함 ㅠㅠ
if문으로 타입에 따라 다른 메서드를 실행해 준다

리포지토리

맨위에 타입별로 한번에 나눠서 가져오려고 했는데 안되는 듯

Containing은 mysql의 like 연산자랑 같은 기능이다
keyword를 포함한 단어를 검색해 준다

테스트

잘 나옴

조회수

설정

디테일DTO랑 Entity클래스랑 각종 메서드에 boardHits를 추가해주고
application.yml에서 create로 바꿔서 드랍하고 테이블을 다시 만들어줘야 함
html에도 추가해줘야 함

리포지토리

@Transactional : update / delete를 사용 하려면 해줘야함
@Modifying : @Query를 사용하려면 사용해야함
@Query(“”) : 여기에 쿼리를 사용해서 보내는데 DB기준이 아니라 Entity클래스 기준이다

빨간색끼리 맞춰줘야 한다

노란색은 Entity클래스의 필드 명을 가져와야한다

흰색끼리 맞춰 주고 @Query안에 : 를 써줘야지 밑에 있는 데이터를 가져온다

서비스

컨트롤러

findById와 findByIdAjax에 추가해 준다

검색이랑 조회수는 내가 만든 기능이라 맞는지 모르겠다 잘되니 맞는 기능이지

profile
코딩도전기

0개의 댓글