언어/java

4. 카페 메뉴 관리 전체 흐름

깡 딱 2024. 1. 2. 20:09
728x90

 

디비 정보를 먼저 저장하고 

 

    <select id="dataSelectList" parameterType="HashMap" resultType="HashMap">
        SELECT
            product_index
            , product_name
            , product_category
            , product_price
            , product_writer
            , product_explan
            , product_date
	    FROM
	        product

	    ORDER BY
	        product_index DESC
    </select>

 

 

데이터 조회를 위해 연결하기 위한 API들과 속성 값들 , 어떤 식으로 진행 할건지에 대한 내용을

컨트롤러에 적고 

    @RequestMapping(value = "/dataSelectList.json", method = RequestMethod.POST)
    public ModelAndView dataSelectList(@RequestBody HashMap<String, Object> params) throws Exception {
        System.out.println("dataSelectList Controller daechan");
        ModelAndView mav = new ModelAndView("jsonView");
        mav.addObject("result", dataService.dataSelectList(params));
        return mav;
    }

 

서비스를 위한 로직만 적어준다.

     */
    public List<HashMap<String, Object>> dataSelectList (HashMap<String, Object> params) throws Exception {
        System.out.println("qqqqqqqqqqqqqqqqqqqqqqqqqq");
        return dataDAO.dataSelectList(params);
    }

 

 

DAO 데이터 베이스와 연결되는것

public List<HashMap<String, Object>> dataSelectList (HashMap<String, Object> params) throws Exception;

 


 

반대로 생각하면 순서가 나온다. 

 

sql문으로 설계를 먼저하고

 

먼저 DAO 에 내가 디비에 접근할 값들을 넣어준다 .

그리고 DAO와 연결된 값들을 Service로 전달해준다 .

그 후 컨트롤에 연결 로직들을 적어주고 어떤식으로 연결 할것인지 적어준다.

 


 

이제 마리아db 이용

 

쿼리문생성 하는법

-- create test SCHEMA(mariaDB)
CREATE SCHEMA test DEFAULT CHARACTER SET utf8mb4;

-- use test SCHEMA(mariaDB)
use test;

-- create product table(mariaDB)
CREATE TABLE product
(
	product_index INT PRIMARY KEY AUTO_INCREMENT,
	product_name VARCHAR(50),
	product_category VARCHAR(50),
	product_price INT,
	product_explan TEXT,
	product_writer VARCHAR(50),
	product_date DATE
) DEFAULT CHARACTER SET utf8mb4;

-- create product_order table(mariaDB)
CREATE TABLE product_order
(
	order_index INT,
    order_product_number INT,
    order_product_name VARCHAR(50),
    order_product_category VARCHAR(50),
    order_product_temperature VARCHAR(50),
    order_amount INT,
    order_price INT,
    order_user VARCHAR(50),
    order_date DATE,s
    order_state VARCHAR(50),
    -- order_milage INT,
    PRIMARY KEY(order_index, order_product_number)
) DEFAULT CHARACTER SET utf8mb4;

 

생성할 쿼리문 만들어주고

 

마리아 디비 /hive db를 이용해서

디비를만들어주고 암호 적어주고 -> 위에 쿼리문을 붙여놓고 파일을 만들면

 

아래처럼됨 현재 위에는 테이블이 두개기 때문에 두개가 생김 

 

 


응용

디비에 키를 추가해서 제품의 10퍼센트를 디비에 저장 시켜 보도록 하겠다.

 

   order_milage INT,

 

일단 product_order 테이블에 위에 코드 추가  

 

그리고쿼리를 다시 실행 시키면 키가 하나 늘었을 것이다. 

 

 

 

 

결제 완료를 눌렀을때 product_price 값의 10퍼센트를 order_milage로 넣어 줘야된다.

 

그후 프론트엔드 vue(뷰) 코드에서 마일리지를불러와서 화면에 띄우려고 한다.   

 

다음 장 계속

 

 

 

 

  

 

 

 

 

 

728x90