yaml 파일에 package를 넣어주자
버전을 확인하고 넣어준다.
-> 테이블을 만드는 부분은 한번만 수행되어야 한다 , 그래서
if(_db != null) return _db; 즉 이미 _db에 값이 있으면 (이미 한번 실행 되었으면 ) 값이 담겨 있는 _db 함수를 리턴해주라는 것이다
-> 왼쪽(key)은 내부 db의 컬럼명이고, 오른쪽(value)은 생성자를 통해 들어온 담긴 멤버 변수 값들이다.
아까전 모델 클래스 안에 있던 toMap() 메서드 실행하여 내가 넣은 값을 매핑하여 데이터베이스 안에 넣는다
아래 conflictAlgorithm은 기본키 중복 시 대체로 넣는 것인데, 조건 충동을 해소하기 위한 알고리즘으로 이 알고리즘을 사용하면 에러가 발생되지 않는다.
-> 테이블 명을 입력하면 해당 테이블의 데이터들을 전부 가져와 List 형식으로 반환한다
!! 만약 전부 말고, 내가 원하는 데이터만 가져오고 싶을 때
String title = '제목1';
final List<Map<String, dynamic>> maps = await db.query(
'memos'
title: 'value = ?',
titleArgs:[title]
);
--> title이 '제목1'인 데이터를 가져온다.
-> Select 부분에서 원하는 데이터를 추출했던 방법과 거의 유사하다