Sugar ORM trong android
Bài đăng này đã không được cập nhật trong 7 năm
Xin chào mọi người, hôm nay tiếp tục là một bài viết về ORM Database trong android. Bài viết này mình sẽ giới thiệu về một ORM đó là Sugar ORM. Vậy Sugar ORM là gì ? Nó là một thư viện database giúp cho các lập trình viên thao tác được thuận tiện và đơn giản hơn. Nhưng tại sao lại dùng đến Sugar, sẽ có những lý do sau đây:
1. Nó loại bỏ việc viết các truy vấn SQL để tương tác với SQLite db.
2.Nó sẽ giúp tạo ra cơ sở dữ liệu của bạn.
3.Nó quản lý mối quan hệ theo các đối tượng thuận tiện cho việc xử lý
4.Nó cung cấp cho bạn các API rõ ràng và đơn giản cho các hoạt động tương tác với DB
Vậy Sugar cung cấp cho ta những gì ?
- Tạo ra DB một cách đơn giản
- Có các API đơn giản để giải quyết các vấn đề cơ bản như thêm, sửa , xóa...
Sử dụng như thế nào ?
1. Bạn cần phải thêm thư viện
trong file Gradle thêm như các thư viện thông thường khác
compile 'com.github.satyan:sugar:1.3
2.Configuration trong AndroidManifest.xml
<application android:label="@string/app_name" android:icon="@drawable/icon"
android:name="com.orm.SugarApp">
.
.
<meta-data android:name="DATABASE" android:value="sugar_example.db" />
<meta-data android:name="VERSION" android:value="2" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
.
.
</application>
trong đó thẻ meta-data chứa các thông tin sau:
- DATABASE : Tên của DB bạn muốn taọ ra
- VERSION: Version của DB
- QUERY_LOG :Log sẽ được generate khi set value bằng true
- DOMAIN_PACKAGE_NAME: Tên của package trong project của bạn.
3. Entities
Việc tạo ra một table với sugar khá đơn giản, chỉ cần extend SugarRecord
public class Book extends SugarRecord<Book> {
String title;
String edition;
public Book(){
}
public Book(String title, String edition){
this.title = title;
this.edition = edition;
}
}
4. Sử dụng
Save
Book book = new Book(ctx, "Title here", "2nd edition")
book.save();
Load
Book book = Book.findById(Book.class, 1);
Update
Book book = Book.findById(Book.class, 1);
book.title = "updated title here"; // modify the values
book.edition = "3rd edition";
book.save(); // updates the previous entry with new values.
Delete
Book book = Book.findById(Book.class, 1);
book.delete()
DeleteAll
List<Book> books = Book.listAll(Book.class);
Book.deleteAll(Book.class);
Kết thúc
Để biết thêm chi tiết , bạn có thể truy cập vào http://satyan.github.io/sugar/getting-started.html . Bài viết được tham khảo từ http://satyan.github.io/sugar/
All rights reserved