data.sql
insert into member(`id`, `name`, `email`, `create_at`, `update_at`) values (1, '홍길동', 'mars@thejoeun.com', now(), now());
insert into member(`id`, `name`, `email`, `create_at`, `update_at`) values (2, '박남순', 'namsun@thejoeun.com', now(), now());
insert into member(`id`, `name`, `email`, `create_at`, `update_at`) values (3, '이순신', 'leesunsin@thejoeun.com', now(), now());
insert into member(`id`, `name`, `email`, `create_at`, `update_at`) values (4, '강감찬', 'kangkamchan@thejoeun.com', now(), now());
insert into member(`id`, `name`, `email`, `create_at`, `update_at`) values (5, '유관순', 'ryukwansun@thejoeun.com', now(), now());
// select all 문
System.out.println("select all -----------------------------------------------------");
List<Member> memberList = memberRepository.findAll(Sort.by(Sort.Direction.DESC, "id"));
memberList.forEach(System.out::println);
select all -----------------------------------------------------
Hibernate:
select
m1_0.id,
m1_0.create_at,
m1_0.email,
m1_0.name,
m1_0.update_at
from
member m1_0
order by
m1_0.id desc
Member(id=5, name=유관순, email=ryukwansun@thejoeun.com, createAt=2023-07-07T18:15:02.684713, updateAt=2023-07-07T18:15:02.684713)
Member(id=4, name=강감찬, email=kangkamchan@thejoeun.com, createAt=2023-07-07T18:15:02.684713, updateAt=2023-07-07T18:15:02.684713)
Member(id=3, name=이순신, email=leesunsin@thejoeun.com, createAt=2023-07-07T18:15:02.684713, updateAt=2023-07-07T18:15:02.684713)
Member(id=2, name=박남순, email=namsun@thejoeun.com, createAt=2023-07-07T18:15:02.683717, updateAt=2023-07-07T18:15:02.683717)
Member(id=1, name=홍길동, email=mars@thejoeun.com, createAt=2023-07-07T18:15:02.681721, updateAt=2023-07-07T18:15:02.681721)
// select where 문
System.out.println("select where-----------------------------------------------------");
List<Member> memberList2 = memberRepository.findAllById(Lists.newArrayList(1L,3L));
memberList2.forEach(System.out::println);
select where-----------------------------------------------------
Hibernate:
select
m1_0.id,
m1_0.create_at,
m1_0.email,
m1_0.name,
m1_0.update_at
from
member m1_0
where
m1_0.id in (?,?)
Member(id=1, name=홍길동, email=mars@thejoeun.com, createAt=2023-07-07T18:15:02.681721, updateAt=2023-07-07T18:15:02.681721)
// update 문
System.out.println("update -----------------------------------------------------");
Member member1 = new Member(1L,"홍길동","이메일 주소", LocalDateTime.now(),LocalDateTime.now());
memberRepository.save(member1);
// 1번을 가진 id 가 있다면 update, 없다면 create문 발생
List<Member> memberList3 = memberRepository.findAll();
memberList3.forEach(System.out::println);
update -----------------------------------------------------
Hibernate:
select
m1_0.id,
m1_0.create_at,
m1_0.email,
m1_0.name,
m1_0.update_at
from
member m1_0
where
m1_0.id=?
Hibernate:
update
member
set
create_at=?,
email=?,
name=?,
update_at=?
where
id=?
Hibernate:
select
m1_0.id,
m1_0.create_at,
m1_0.email,
m1_0.name,
m1_0.update_at
from
member m1_0
Member(id=1, name=홍길동, email=이메일 주소, createAt=2023-07-07T18:15:04.095148, updateAt=2023-07-07T18:15:04.095148)
Member(id=2, name=박남순, email=namsun@thejoeun.com, createAt=2023-07-07T18:15:02.683717, updateAt=2023-07-07T18:15:02.683717)
Member(id=3, name=이순신, email=leesunsin@thejoeun.com, createAt=2023-07-07T18:15:02.684713, updateAt=2023-07-07T18:15:02.684713)
Member(id=4, name=강감찬, email=kangkamchan@thejoeun.com, createAt=2023-07-07T18:15:02.684713, updateAt=2023-07-07T18:15:02.684713)
Member(id=5, name=유관순, email=ryukwansun@thejoeun.com, createAt=2023-07-07T18:15:02.684713, updateAt=2023-07-07T18:15:02.684713)
// delete 문
System.out.println("delete -----------------------------------------------------");
// memberRepository.deleteAll(); // delete 한개씩 처리
memberRepository.deleteAllInBatch(); // delete 한번에 처리
List<Member> memberList4 = memberRepository.findAll();
memberList4.forEach(System.out::println);
delete -----------------------------------------------------
Hibernate:
delete
from
member
Hibernate:
select
m1_0.id,
m1_0.create_at,
m1_0.email,
m1_0.name,
m1_0.update_at
from
member m1_0
'Spring' 카테고리의 다른 글
[스프링] Hibernate를 사용하여 데이터베이스 초기화하기 (0) | 2023.07.10 |
---|---|
[스프링] data.sql / import.sql / schema.sql 차이 (0) | 2023.07.10 |
[스프링] JPA - @Entity (0) | 2023.07.07 |
[스프링] intellij - h2 database (0) | 2023.07.07 |
[스프링] Lombok - @Data (0) | 2023.07.07 |