(二)GreenDao3 0的資料庫公升級

2021-07-26 04:52:22 字數 2157 閱讀 9848

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...