Skip to content
Snippets Groups Projects
Commit 27d176e0 authored by 현민 정's avatar 현민 정
Browse files

중간 commit

parent 037a1a5e
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,6 @@ package com.example.demo; ...@@ -2,7 +2,6 @@ package com.example.demo;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
...@@ -12,10 +11,4 @@ public class DemoApplication { ...@@ -12,10 +11,4 @@ public class DemoApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args); SpringApplication.run(DemoApplication.class, args);
} }
@GetMapping(value = "/")
public String HelloWorld() {
return "Hello World";
}
} }
package com.example.demo;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;
@RestController
public class TestController {
@GetMapping(value = "/test")
public UserDto test() {
UserDto dto = new UserDto();
dto.setAge(17);
dto.setName("Jane");
return dto;
}
}
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.google.gson.JsonObject;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@RestController
public class TestController {
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test(@RequestParam("id") String id) {
JsonObject obj = new JsonObject();
obj.addProperty("title", "신사와 아가씨");
obj.addProperty("content", "로맨틱 코미디");
JsonObject data = new JsonObject();
data.addProperty("time", "토일 8시");
obj.add("data", data);
return obj.toString();
}
}
package com.example.demo; package com.example.demo.controller;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -8,8 +8,6 @@ import lombok.ToString; ...@@ -8,8 +8,6 @@ import lombok.ToString;
@Setter @Setter
@ToString @ToString
public class UserDto { public class UserDto {
private String name; private String name;
private Integer age; private Integer age;
} }
...@@ -11,5 +11,14 @@ import com.example.demo.entity.Item; ...@@ -11,5 +11,14 @@ import com.example.demo.entity.Item;
// @NoRepositoryBean // @NoRepositoryBean
public interface ItemRepository extends JpaRepository<Item, Long> { public interface ItemRepository extends JpaRepository<Item, Long> {
List<Item> findByItemNm(String itemNm);
List<Item> findByItemNmOrItemDetail(String itemNm, String itemDetail);
List<Item> findByPriceLessThan(Integer price);
List<Item> findByPriceLessThanOrderByPriceDesc(Integer price);
@Query("select i from Item i where i.itemDetail like %:itemDetail% order by i.price desc")
List<Item> findByItemDetail(@Param("itemDetail") String itemDetail);
} }
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>example 1-2</title>
</head>
<body>
<H2>example 1-2</H2>
<HR>
example 1-2
</body>
</html>
...@@ -26,19 +26,90 @@ public class ItemRepositoryTest { ...@@ -26,19 +26,90 @@ public class ItemRepositoryTest {
@Autowired @Autowired
ItemRepository itemRepository; ItemRepository itemRepository;
@PersistenceContext
EntityManager em;
public void createItemList() {
for (int i = 1; i <= 10; i++) {
Item item = new Item();
item.setItemNm("테스트 상품");
item.setPrice(100000);
item.setItemDetail("테스트 상품 상세 설명");
item.setStockNumber(100);
item.setRegTime(LocalDateTime.now());
item.setUpdateTime(LocalDateTime.now());
Item savedItem = itemRepository.save(item);
}
}
@Test
@DisplayName("상품명 조회 테스트")
public void findByItemNmTest() {
this.createItemList();
List<Item> itemList = itemRepository.findByItemNm("테스트 상품1");
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test
@DisplayName("상품명, 상품상세 설명 OR 테스트")
public void findByItemNmOrItemDetailTest() {
this.createItemList();
List<Item> itemList = itemRepository.findByItemNm("테스트 상품1");
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test
@DisplayName("가격 LessThan 테스트")
public void findByPriceLessThanTest() {
this.createItemList();
List<Item> itemList = itemRepository.findByPriceLessThan(10005);
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test
@DisplayName("가격 내림차순 조회 테스트")
public void findByPriceLessThanOrderByPriceDesc() {
this.createItemList();
List<Item> itemList = itemRepository.findByPriceLessThanOrderByPriceDesc(10005);
for (Item item : itemList) {
System.out.println(item.toString());
}
}
@Test @Test
@DisplayName("상품 저장 테스트") @DisplayName("@Query를 이용한 상품 조회 테스트")
public void createItemTest() { public void findByItemDetailTest() {
Item item = new Item(); this.createItemList();
item.setItemNm("테스트 상품"); List<Item> itemList = itemRepository.findByItemDetail("테스트 상품 상세 설명");
item.setPrice(100000);
item.setItemDetail("테스트 상품 상세 설명"); for (Item item : itemList) {
item.setStockNumber(100); System.out.println(item.toString());
item.setRegTime(LocalDateTime.now()); }
item.setUpdateTime(LocalDateTime.now());
Item savedItem = itemRepository.save(item);
System.out.println(savedItem.toString());
} }
@Test
@DisplayName("Querydsl 조회테스트1")
public void queryDslTest() {
this.createItemList();
JPAQueryFactory queryFactory = new JPAQueryFactory(em);
QItem qItem = QItem.item;
JPAQuery<Item> query = queryFactory.selectFrom(qItem).where(qItem.itemSellStatus.eq(ItemSellStatus.SELL))
.where(qItem.itemDetail.like("%" + "테스트 상품 상세 설명" + "%")).orderBy(qItem.price.desc());
List<Item> itemList = query.fetch();
for (Item item : itemList) {
System.out.println(item.toString());
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment