개요

Spring boot + mybatis 기술을 사용하여 DB 조회, 수정, 삽입, 삭제 기능을 구현한다.

mybatis를 사용하기 전 데이터베이스를 위한 사전 지식을 살펴본다.

데이터 베이스 배경지식

  1. Auto increment 필드(Identity 필드)

    student 테이블의 기본키(primary key)는 id 필드이다.

    MySQL에서 student 테이블을 생성할 때, id 필드를 Auto Increment 필드로 지정하였다.

    Auto Increment 필드의 값은 1부터 시작하는 일련번호이다.

    테이블에 새 레코드를 insert 할 때, 이 필드의 값에 일련번호가 자동으로 부여된다.

    Auto Increment 필드의 값이 자동으로 부여되기 때문에,

    insert나 update SQL 문에서 이 필드의 값을 저장하지 않아야 한다.

  2. Referential Integrity Constraint

Untitled

student 테이블의 departmentId 필드는 외래키(foreign key) 이다.

이 필드의 값은 department 테이블의 기본키인 id 필드값과 일치해야 한다.

소프트웨어공학과 소속 학생들이 존재한다면, 소프트웨어공학과를 삭제할 수 없어야 한다.

department 테이블에서 소프트웨어공학과 레코드를 삭제 하려고 할 때,

student 테이블에서 departmentId 값이 소프트웨어공학과 id 값과 일치하는 레코드가 있다면,

삭제는 실패하고 에러가 발생한다.

이 에러를 참조 무결성 제약조건 위반(referential intergity constraint violation) 에러 이라고 부른다.