OrmLite 三篇文章
介紹
封裝后的工程方便對OrmLite 的使用
工程GitHub地址 https://github.com/MrChao1991/DB_OrmLiteHelper
集成方法
創(chuàng)建 Helper 類带族,繼承 OrmDatabaseHelper 類
- 實現(xiàn) createTables(List tables)
方法說明:
在該方法中設置數(shù)據(jù)庫中對用的表的映射Bean,tables 是一個集合碟狞,通過該集合設置數(shù)據(jù)庫中對應表映射的 Bean
@Override
public void createTables(List tables) {
tables.add(UserInfo.class);
tables.add(BookInfo.class);
}
- 實現(xiàn) updateTables(List tables)
方法說明:
在該方法中設置更新數(shù)據(jù)庫中對用的表的映射Bean玻淑,tables 是一個集合虐先,通過該集合設置數(shù)據(jù)庫中對應更新表映射的 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);
/**
* 參數(shù)說明:
* context:上下文状植。
* databaseName: 數(shù)據(jù)庫名。
* factory: 游標實例迂尝,多數(shù)時候設置成NULL驰凛。
* databaseVersion:數(shù)據(jù)庫版本,當數(shù)據(jù)庫版本升高時交汤,會調用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);
}
}
創(chuàng)建 Dao 類,繼承 OrmDaoUtils類
- 實現(xiàn) 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 是插入成功的條數(shù)
} catch (SQLException e) {
e.printStackTrace();
}
- 批量事物插入
修改操作
- 單條修改
- 多條件修改單字段
- 多條件修改多字段
刪除操作
- 單條刪除
- 批量刪除
- 根據(jù)ID刪除
- 事物批量刪除
- 事物通過ID批量刪除
查詢操作
- 全部查詢
- 單條查詢通過ID
- 條件查詢
- 升序、降序查詢