OrmLite框架 —— OrmLite 框架封裝及使用(三)(未完)
阿新 • • 發佈:2019-01-09
OrmLite 三篇文章
介紹
封裝後的工程方便對OrmLite 的使用
整合方法
建立 Helper 類,繼承 OrmDatabaseHelper 類
- 實現 createTables(List tables)
方法說明:
在該方法中設定資料庫中對用的表的對映Bean,tables 是一個集合,通過該集合設定資料庫中對應表對映的 Bean
@Override
public void createTables(List tables) {
tables.add(UserInfo.class);
tables.add(BookInfo.class);
}
- 實現 updateTables(List tables)
方法說明:
在該方法中設定更新資料庫中對用的表的對映Bean,tables 是一個集合,通過該集合設定資料庫中對應更新表對映的 Bean
@Override
public void updateTables(List tables) {
tables.add(UserInfo.class);
tables.add(BookInfo.class);
}
示例程式碼:
public class MyDbHelper extends OrmDatabaseHelper {
private static final String DEF_DB_NAME = "def_db";
private static final int DB_VERSION = 2;
public MyDbHelper(Context context) {
super(context, DEF_DB_NAME, null, DB_VERSION);
/**
* 引數說明:
* context:上下文。
* databaseName: 資料庫名。
* factory: 遊標例項,多數時候設定成NULL。
* databaseVersion:資料庫版本,當資料庫版本升高時,會呼叫onUpgrade()方法。
*/
}
@Override
public void createTables(List tables) {
tables.add(UserInfo.class);
tables.add(BookInfo.class);
}
@Override
public void updateTables(List tables) {
tables.add(UserInfo.class);
tables.add(BookInfo.class);
}
}
建立 Dao 類,繼承 OrmDaoUtils類
- 實現 getHelper()
方法說明:
該方法 OrmDatabaseHelper 例項物件。
public class MyDao extends OrmDaoUtils {
public MyDao(Class cls) throws SQLException {
super(cls);
}
@Override
protected OrmDatabaseHelper getHelper() {
//此處的Context 建議使用Application 中的Context
return new MyDbHelper(AppApplication.sCtx);
}
}
Dao 使用
以 UserInfo 這個 Bean 為示例。 private MyDao mDao;
插入操作
- 單條插入
- 批量插入
//這是一個批量插入的操作
List<UserInfo> users = new ArrayList<UserInfo>();
for(int i = 1 ; i < 100 ; i ++){
UserInfo info = new UserInfo("張三" + i,"beijing");
users.add(info);
}
try {
mDao = new MyDao(UserInfo.class);
int insertNumber = mDao.insert(users);
//insertNumber 是插入成功的條數
} catch (SQLException e) {
e.printStackTrace();
}
- 批量事物插入
修改操作
- 單條修改
- 多條件修改單欄位
- 多條件修改多欄位
刪除操作
- 單條刪除
- 批量刪除
- 根據ID刪除
- 事物批量刪除
- 事物通過ID批量刪除
查詢操作
- 全部查詢
- 單條查詢通過ID
- 條件查詢
- 升序、降序查詢