TIL 2021.04.20

Kyu·2021년 4월 20일
0

TIL

목록 보기
100/322

create table banchan( id INT PRIMARY KEY, detail_hash VARCHAR(10) NOT NULL, image VARCHAR(255) NOT NULL, alt VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL, nPrice VARCHAR(10) NOT NULL, sPrice VARCHAR(10) NOT NULL )

create table badge (
id INT PRIMARY KEY,
badge VARCHAR(10) NOT NULL,
banchan_id VARCHAR(10),
foreign key (banchan_id) references banchan(detail_hash)
);

CREATE TABLE [테이블명] (
[컬럼명][데이터타입] (NOT NULL / DEFAULT NULL),
[컬럼명][데이터타입] (NOT NULL / DEFAULT NULL),
PRIMARY KEY([기본키로 지정할 컬럼명]),
FOREIGN KEY ([외래키로 지정할 컬럼명]) REFERENCES [참조테이블명] ([참조테이블의 컬럼명])
);

create table delivery_type (
delivery_type VARCHAR(10),
foreign key (delivery_type) references banchan(delivery_type)
);
참조테이블의 컬럼이 PK이거나 UNIQUE여야함
갑자기 PK여도 안되서 UNIQUE로 하니까 됨

이걸로하려다 걍 enum으로 했음;;

든든한반찬, 국물요리, 밑반찬은 개별적으로 내가 category_id 를 만들어서 리퀘스트들어오면 매핑한 메서드에서 category_id에 따라서 불러오기로..

스트링을 ID로했더니 create할때 ID[넣어준 값] not found in database라는 에러가뜸

detail_hash 로 찾는 메서드는 아래처럼
public interface BanchanRepository extends CrudRepository<Banchan, Long> {
@Query("select * from banchan where detail_hash = :detail_hash")
Banchan findBanchanByDetail_hash(String detail_hash);
}

create table badge (
badge VARCHAR(10) references banchan(badge)
);

배열어떻게 넣지 계속고민하다가....JSON DATA를 지원하는 5.7.8로..근데 도저히 뭔말인지모르겠다.
그냥 객체로 반환하도록 해야겠다


  1. 스프링부트테스트 어노테이션
  2. @Autowired Applicationcontext
  3. LEFT OUTER JOIN 깃헙은 없고 유저만 있어도 된다
  4. 깃헙이 Null이 될수밖에 없기때문에 LEFT OUTER JOIN
  5. 객체는 생성되고 필드가 널인건지 vs 객체 자체가 생성 안된건지
  6. (Food... foods)

select * from banchan where detail_hash = ":detail_hash";

profile
TIL 남기는 공간입니다

0개의 댓글