Androrm - Android的ORM框架 - Androrm
Androrm 是 Android 平臺上的一個對象關系映射框架,也就是我們常說的 ORM 框架。用于幫助你快速開發使用數據庫的應用,封裝了常用的表創建、對象讀寫和查詢,通過將 Model 類映射到數據庫表,直接對對象進行操作便可讀寫數據庫。
下面我們給出一個簡單的使用 Androrm 的教程:
1. 創建 Model 類
public class Book extends Model {
// fields visibility is set to protected,
// so the Model class can access it
protected CharField mTitle;
// zero-argument constructor, that can be called
// by androrm, to gather field information
public Book() {
super();
// set up field with maxLength parameter
mTitle = new CharField(80);
}
public getTitle() {
return mTitle.get();
}
}
public class Author extends Model {
protected CharField mName;
public Author() {
super();
mName = new CharField(80);
}
public void getName() {
return mName.get();
}
public void setName(String name) {
mName.set(name);
}
}
2. 創建數據庫
接下來我們需要在應用的 onCreate 方法中創建數據庫
List<Class<? extends Model>> models = new ArrayList<Class<? extends Model>>();
models.add(Author.class);
models.add(Book.class);
DatabaseAdapter.setDatabaseName("a_database_name");
DatabaseAdapter adapter = new DatabaseAdapter(getApplicationContext());
adapter.setModels(models);
3. 創建表關系
Androrm 有一個特殊的數據域——ForeignKeyField,通過它來定義外鍵關聯
public class Book extends Model {
// fields visibility is set to protected,
// so the Model class can access it
protected CharField mTitle;
// Link the Author model to the Book model.
protected ForeignKeyField<Author> mAuthor;
// zero-argument constructor, that can be called
// by androrm, to gather field information
public Book() {
super();
// set up field with maxLength parameter
mTitle = new CharField(80);
// initialize the foreign key relation
mAuthor = new ForeignKeyField<Author>(Author.class);
}
public String getTitle() {
return mTitle.get();
}
public void setAuthor(Author author) {
mAuthor.set(author);
}
}
4. 插入數據
// In your activity
Author author = new Author();
author.setName("My Author");
author.save(this);
Book book = new Book();
book.setName("Book name");
book.setAuthor(author);
book.save(this);
到此,整個簡單的教程到此結束,更詳細的關于 Androrm 的使用方法請參考文檔。
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!