플러터에서 ObjectBox는 다양한 데이터를 영구적으로 저장하는 데 사용할 수 있는 빠르고 효율적인 오픈 소스 데이터베이스입니다. 이 데이터베이스를 사용하여 데이터를 영구적으로 보관하는 방법은 다음과 같습니다:
1. ObjectBox 라이브러리 추가
pubspec.yaml
파일에 ObjectBox 라이브러리를 추가합니다. 아래와 같이 dependencies 섹션에 ObjectBox 라이브러리를 추가합니다.
dependencies:
objectbox: [latest_version]
2. 모델 클래스 만들기
영구 보관할 객체의 모델 클래스를 만듭니다. 이 클래스는 ObjectBox 애노테이션을 사용하여 식별 자와 필드를 정의해야 합니다. 예를 들어, 사용자 객체를 영구 보관하기 위한 모델 클래스를 만들어 보겠습니다.
import 'package:objectbox/objectbox.dart';
@Entity()
class User {
int id = 0;
String name;
int age;
User({this.name, this.age});
@Id()
int get objectId => id;
}
3. 데이터베이스 준비
데이터베이스 관리자 객체를 생성하고 데이터베이스를 준비합니다. 아래 코드와 같이 데이터베이스 경로를 지정하여 데이터베이스를 열 수 있습니다.
import 'package:objectbox/objectbox.dart';
final store = Store(getObjectBoxModel());
final box = Box<User>(store);
Future<void> prepareDatabase() async {
await store.open();
}
4. 데이터 추가하기
위의 예에서는 사용자 객체를 영구 보관하기 위한 모델 클래스를 정의했습니다. 이제 아래와 같이 데이터를 추가하고 데이터베이스에 저장할 수 있습니다.
await box.put(User(name: 'John Doe', age: 25));
5. 데이터 조회하기
데이터베이스에서 데이터를 조회하는 것은 매우 간단합니다. 아래와 같이 데이터베이스에서 모든 사용자를 조회할 수 있습니다.
final users = box.getAll();
위의 코드는 데이터베이스에서 모든 사용자를 가져옵니다. 다른 쿼리 메서드를 사용하여 특정 조건에 맞는 데이터를 검색할 수도 있습니다.
6. 데이터 업데이트 및 삭제하기
영구 보관된 데이터를 업데이트하거나 삭제하는 것도 매우 간단합니다. 아래와 같이 데이터를 업데이트하거나 삭제할 수 있습니다.
// 업데이트
final user = box.get(userId);
user.name = 'Jane Smith';
box.put(user);
// 삭제
box.remove(userId);
위의 코드는 데이터베이스에서 특정 ID의 사용자를 가져와 이름을 변경한 후 다시 저장합니다. 또한 특정 ID의 사용자를 삭제합니다.
위의 단계를 따라가면 ObjectBox를 사용하여 데이터를 영구 보관할 수 있습니다. ObjectBox는 플러터 개발자에게 합리적인 성능과 편리한 데이터 저장 솔루션을 제공합니다. ObjectBox 공식 문서에서 자세한 내용을 확인할 수 있습니다.
참고 문서: ObjectBox 공식 문서