public
class
migrationhelper
/*** 生成臨時表,儲存舊的表資料
*@param db
*@param daoclasses
*/private
static
void
generatetemptables(database db, class<? extends abstractdao<?, ?>>... daoclasses)
}/**
* 檢測table是否存在
*@param db
*@param tablename
*/private
static boolean checktable(database db,string tablename)
return
false;
}return
false;
}/**
* 刪除所有舊表
*@param db
*@param ifexists
*@param daoclasses
*/private
static
void
dropalltables(database db, boolean ifexists, @nonnull class<? extends abstractdao<?, ?>>... daoclasses)
/*** 建立新的表結構
*@param db
*@param ifnotexists
*@param daoclasses
*/private
static
void
createalltables(database db, boolean ifnotexists, @nonnull class<? extends abstractdao<?, ?>>... daoclasses)
/*** 建立根刪除都在notedao宣告了,可以直接拿過來用
* dao class already define the sql exec method, so just invoke it
*/private
static
void
reflectmethod(database db, string methodname, boolean i***ists, @nonnull class<? extends abstractdao<?, ?>>... daoclasses)
try
} catch (nosuchmethodexception e) catch (invocationtargetexception e) catch (illegalacces***ception e)
}/**
* 臨時表的資料寫入新錶
*@param db
*@param daoclasses
*/private
static
void
restoredata(database db, class<? extends abstractdao<?, ?>>... daoclasses)
}if (properties.size() > 0)
stringbuilder droptablestringbuilder = new stringbuilder();
db.execsql(droptablestringbuilder.tostring());}}
private
static listgetcolumns(database db, string tablename)
} catch (exception e) finally
return columns;
}}
(2)在自定義的幫助類中使用就可以了
public
class
dbhelper
extends
daomaster.openhelper
@override
public
void
onupgrade(database db, int oldversion, int newversion)
}
GreenDao3 0公升級資料庫
看了好幾篇文章,最後還是自己搞明白的,唉,長話短說 greendao我們首先先建立乙個只有乙個成員變數name的student實體類來進行測試.然後需要注意的是不能再使用daomaster裡的newdevsession context,string 來得到daosession物件了,因為這樣做,我們...
GreenDao 3 0 學習筆記(二)
查詢 普通查詢 querybuilder qb user.querybuilder id在20到25之間的資料 qb.where qb.and userinfodao.properties id.gt 20 userinfodao.properties id.lt 25 list users qb....
greenDAO講義(二) 資料庫查詢篇
1.查詢 queries 1 你可以使用原生的sql raw sql 語句 2 也可以使用推薦的方法 使用greendao提供的querybuilder的api。3 查詢還支援結果延遲載入 lazy loading 主要為操作較大查詢結果是節約記憶體並提高效能。1 querybuilder 使用過s...