Dummy data 생성하기
by jeongminy1. 의존성 추가
implementation("net.datafaker:datafaker:2.0.2")
2. controller 생성
@Tag(name = "dummy", description = "더미") @RequestMapping("/dummy") @RestController class DummyController( private val dummyService: DummyService ) { @Operation(summary = "상품 더미 생성") @PostMapping("/items") fun generateDummyPosts( @RequestParam count: Int ): ResponseEntity<String> { dummyService.addDummyItems(count) return ResponseEntity.status(HttpStatus.CREATED).body("${count} Dummy items added successfully.") } }
3. service 생성
interface DummyService { fun addDummyItems(count:Int) }
4. serviceImpl 생성 (구현부)
@Service class DummyServiceImpl( private val itemRepository: ItemRepository ): DummyService { override fun addDummyItems(count: Int) { val faker = Faker() repeat(count) { val clothingTypes = mapOf( ItemTag.TOP to listOf("shirts", "jacket", "sweater", "blouse", "hoodie", "vest", "t-shirt"), ItemTag.BOTTOM to listOf("jeans", "shorts", "skirt", "pants", "sweatpants"), ItemTag.OUTER to listOf("jacket", "sweater", "coat", "vest", "hoodie"), ItemTag.SHOES to listOf("shoes", "sneakers", "boots", "sandals"), ItemTag.BAGS to listOf("bag", "backpack", "tote", "clutch"), ItemTag.BEAUTY to listOf("bracelet", "necklace", "earrings", "ring", "hat", "scarf"), ItemTag.GLASSES to listOf("glasses", "sunglasses", "vintage glasses", "sport glasses") ) val colors = listOf( "black", "white", "red", "blue", "green", "yellow", "orange", "pink", "purple", "brown", "gray", "beige" ) val tag = ItemTag.entries.filterNot { it == ItemTag.ALL }.random() val itemType = clothingTypes [tag]?.random() val itemName = "${colors.random()}_$itemType"+"_${(100..999).random()}" val stock = (0..1000).random().toLong() val item = ItemEntity( itemName = itemName, price = (10..100).random() * 1000L, description = "해당 상품을 설명합니다", stock = stock, canPurchase = stock > 0, sales = faker.number().randomNumber(2, true), itemTag = tag, isDeleted = false ) //상품 저장 itemRepository.save(item) } } }
5. swagger 테스트
5만건의 데이터가 만들어지기까지 정확히 1시간 8분 걸렸다 ........

6. supabase DB 확인

5만건 이상의 dummy data 생성 완료!!❤️
블로그의 정보
꿈틀꿈틀 개발일기
jeongminy활동하기
꿈틀꿈틀 개발일기jeongminy 님의 블로그입니다.