일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- transaction
- 자바
- 스프링 핵심 기능
- 스프링
- 알고리즘
- spring
- 그리디
- jpa
- pointcut
- Android
- QueryDSL
- SpringBoot
- http
- AOP
- 스프링 핵심 원리
- Exception
- Thymeleaf
- Spring Boot
- java
- db
- JPQL
- Proxy
- Greedy
- springdatajpa
- Servlet
- 김영한
- kotlin
- 백준
- 인프런
- JDBC
- Today
- Total
목록java (156)
개발자되기 프로젝트
1. Page Paging : DB에 저장된 entity를 page로 나누는 것. page에 대한 설명은 아래와 같다. slice에 대한 정보와 전체에 대한 정보를 가지고 있다. A page is a sublist of a list of objects. It allows gain information about the position of it in the containing entire list. public interface Page extends Slice Slice : data 묶음의 일부 덩어리. slice에서 제공하는 정보는 현재 slice에 대한 정보만을 준다. slice에서 제공하는 method int getNumber(); List getContent(); int getNumberOfEl..
1. flush() flush() : JPA context에 있는 DB값을 DB에 적용하도록 함. @Test @Transactional void crud(){//create, read, update, delete userRepository.save(new User("new hyun", "newHyun@ddd.com")); userRepository.flush(); userRepository.findAll().forEach(System.out::println); } 2. saveAndFlush() save() 와 flush() 를 합한 method로 추가적인 flush() method 사용 절차가 필요 없다. @Test @Transactional void crud(){//create, read, updat..
1. findAll(Sort) 데이터를 불러올 때 sorting하여 list로 저장이 가능. .이름 오름차순으로 해보자! @Test void crud(){//create, read, update, delete //user객체 생성하고 저장하겠다다 //userRepository.save(new User()); //userRepository.findAll().forEach(System.out::println); //System.out.println(">>>>"+ userRepository.findAll()); List userList = userRepository.findAll(Sort.by(Sort.Direction.ASC,"name")); userList.forEach(System.out::println..
연습을 위해 h2 in-memory DB를 사용 중이다. in memory DB기 때문에 프로그램이 종료되는 시점에 데이터가 날라간다. 따라서 일단 data.sql에 간단한 데이터를 저장하여 resources 하위에 저장하자. 그러면 jpa가 로딩할대 자동으로 한번 실행해준다. test에서 활용할거니까 test하위 resources를 만들어 data.sql을 생성하자. 0. SQL insert into 들어가기전에 SQL의 insert문 의 형태를 보자. insert into 테이블 이름('열1이름'. '열2이름', ....) value(value1, value2, ....) table로 표현하면 다음과 같이 나타낼 수 있다. 열1 열2 열3 value1 value2 value3 사용 예시이다. inse..
간단하게 HelloWorldController를 만들어서 JPA를 사용해 보도록 하겠음다 1. Controller 작성 @RestController //@RequestMapping("/api") public class HelloWorldController { @GetMapping("/hello-world") public String helloWorld(){ return "hello-world"; } } 2. ControllerTest 작성 @WebMvcTest class HelloWorldControllerTest { @Autowired private MockMvc mockMvc; @Test void helloWorld() throws Exception { mockMvc.perform(MockMvcReq..
MVC 란? Model View Controller의 약자로 프로젝트의 구성 요소를 세가지의 역할로 구분한 디자인 패턴을 말한다. Model 은 '데이터' 디자인을 담당한다., 어떤 동작을 수행하는 코드 ex. 상품 목록, 주문 내역 등 View 는 사용자가 볼 페이지를 담당. Controller 는 model과 view의 중간다리 역할.
@EqualsAndHashCode 특별히 JPA에서 @EqualsAndHashCord를 사용할 일 많이 없음. 다만 @Data에서 구현하고 있는 내용이고 자바에서 객체의 동등성을 비교하기 위해서 equals method와 hashCode method를 overriding을 권장. 따라서 entity 객체를 만들 때에도 equals, hashCode toString을 overriding하는게 권장됨. @Data Entity 객체를 사용하면서 가장 많이 사용할 annotation @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode. 다 제공함. @Builder @AllArgsContructor와 비슷하게 객체를 생성하고 필드값을 주입해..
1. H2 DB 란? DB는 JAVA기반의 경량화된 관계형 DB file 로 저장하여 실제 DB처럼 유지할 수 있고, memory DB로 사용하여 실제 인스턴스가 동작하는 시점에만 유지도 가능 프로젝트 초기 test DB로 사용 유지보수 기간에는 JUnit test용 H2 DB자주 사용 h2 database사용하기 위해서는 의존성이 추가되어야 한다. runtimeOnly 'com.h2database:h2' 2. H2 database 등록하기 서버를 띄워봅시당. 프로젝트를 생성하면 resource에 application.properties가 있을 것이다. 최근에는 application.yml을 사용하는 추세니 application.propertils를 삭제하고 application.yml 만들어주자. ym..