-
(국비교육) 64 - 아이디 세션 + 페이징 처리 + H2 db 사용 + JPA +개발/국비교육 2023. 8. 31. 21:49
■ Model, ModelAndView, ModelMap 차이
https://curiousjinan.tistory.com/53
■ 세션 만들기
세션 불러와서 만약 dto 에 값 1로 오면
세션에 mname 과 mid 를 추가해준다.
다음과 같이 출력된다.
로그인 시 로그아웃만 상단에 표시된다.
■ 페이징 처리
데이터 최신글 0에서부터 가져와야 하기 때문에 pageNo -1 처리를 해줘야 한다.
들어온 매개변수 달라졌으니 해당 내용도 변경해준다.
pageNo 부터 10개를 뽑는다는 것이다.
숫자 10개 찍는 방법이다.
1에서부터 10 까지 버튼 10개 만들어준다.
페이지 버튼 누를때마다 보드 이동할 수 있도록 설정해준다.
■ H2 데이터베이스 이용하기
콘솔 쓸꺼인지 여부 = true
mem 형태로 저장한다.
hikari.maximum-pool-size=4 는 최대 디비 커넥션 풀 4개 만들어줘
* 요청사항
- hikari 가 무엇인지
- maximum-pool-size 왜 4개 설정했는지
CP (Connection Pool)
커넥션풀이란 미리 Connection을 생성하고 보관하는 방법이다.
SpringBoot 2.0부터 HikariCP를 기본 데이터 소스로 채택하고 있다.
HikariCP는 가볍고 성능이 매우 빠르기 때문에 가능하면 HikariCP를 채택한다.
h2 콘솔로 들어간 후 해당 url 을 url 칸에 넣어준다.
테이블 생성 후 열어보면 글이 들어간 것을 확인할 수 있다.
그러나 메모리에 저장해서 다시 들어가면 데이터가 사라진다.
명령문 입력해준다.
스키마를 먼저 읽는다.
보드라는 테이블 있다면 기존꺼 삭제하고 새로 만들라는 명령문이다.
생성한 글 뽑기 위해서 list 맵으로 가져온다.
경로 static 안이 아닌 밖에도 만들어본다.
h2 랑
다음과 같이 찍힌다.
■ JPA
H2 데이터 베이스로 하면서 JPA 를 쓰고자 한다.
JPA SQL문 작성하지 않는다.
properties 설정해주기
mybatis 는 제거해준다.
all platforms 로 다운 받고 압축 풀어준다.
https://www.h2database.com/html/main.html
cmd 에서 h2 콘솔 열어준다.
~(물결) 은 사용자의 디렉토리를 말한다.
연결 누른다.
dir 하면 다음과 같이 생성된 것을 확인이 가능하다.
변경해준다.
자동으로 스키마 만들어주는데,
엔티티 기준으로 만들어준다.
여기서는 엔티티를 dto로 보면 편한데 dto 기준으로 데이터 베이스가 만들어진다.
따라서 엔티티를 먼저 만들어줘야 한다.
jpa 방언 설정해주기
DDL ( Data Definition Language)은 데이터베이스 스키마를 정의하는 일련의 SQL 명령입니다.
@Id = pk 지
@GeneratedValue(strategy = GenerationType.IDENTITY) = auto.increment 와 같다.
글자 길이 정해준다.
DB 는 mid 이지만 우리는 id 라 부를게요.
unique = true : 유니크 키 설정.
연월일시분초 설정해주기
테이블 이름 = members
mem : 메모리 타입
test : 해당 변수는 아무렇게나 지정 가능
멤버 테이블 생성 완료
컨트롤러 생성
repository jpa 기능 모두 사용 가능
멤버레퍼지토리 모든 것을 가져와서 리스트에 담는다.
findAll() : 전체 조회이다.
sql 문 적어주면 담긴 값 html 에서 확인 가능하다.
https://geonoo.tistory.com/149
서버를 재기동해서 이전꺼 사라지고 넣어준 값이 나온다.
한번 더 실행하면 오류 난다.
왜냐하면 mid 를 unique 키로 설정했는데 다시 넣어주기 때문이다.
다음과 같이 나온다.
마리아 db 서버로 바꿔주
마리아 디비 사용 위해 의존성 넣어준다.
이름 디비 컬럼명과 맞춰 준다.
마리아 db 에 담겼던 내용 출력된다.
5개만 뽑게 설정도 가능하다.
create 를 사용하면 기존에 jmembers 테이블 내용이 있다면 싹 지우고 새롭게 만든다.
jmembers 테이블 생성 완성
JPA 로그도 설정해준다.
jboard 생성완성
jsp에 jpa 도 가능하다.
* 프레임워크 라이브러리 차이
https://code-lab1.tistory.com/284
'개발 > 국비교육' 카테고리의 다른 글