문제 1

Untitled

create table fruit (
    id bigint auto_increment,
    name varchar(25),
    warehousingDate date,
    price bigint,
    isSold boolean default false,
    primary key (id)
)
package com.group.libraryapp.dto.fruit.request;

import java.time.LocalDate;

public class FruitRequest {
    private Long id;
    private String name;
    private LocalDate warehousingDate;
    private Long price;

    public FruitRequest(Long id, String name, LocalDate warehousingDate, Long price) {
        this.id = id;
        this.name = name;
        this.warehousingDate = warehousingDate;
        this.price = price;
    }

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public LocalDate getWarehousingDate() {
        return warehousingDate;
    }

    public Long getPrice() {
        return price;
    }
}

package com.group.libraryapp.controller.fruit;

import com.group.libraryapp.dto.fruit.request.FruitRequest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class FruitController {

    private final JdbcTemplate jdbcTemplate;

    public FruitController(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @PostMapping("/api/v1/fruit")
    public void saveFruit(@RequestBody FruitRequest request) {
        String sql = "INSERT INTO fruit (name, warehousingDate, price) VALUES (?, ?, ?)";
        jdbcTemplate.update(sql, request.getName(), request.getWarehousingDate(), request.getPrice());

    }

}

Untitled

Untitled

int 자료형은 32비트로 구성되어 있어 약 -2.1억부터 +2.1억까지의 범위를 나타낼 수 있음

long 자료형은 64비트로 구성되어 있어 훨씬 더 큰 범위의 정수를 나타낼 수 있음

**long**을 사용하여 더 넓은 범위의 정수를 안전하게 처리함!

문제 2

Untitled