greendao3 x 以及操作外部資料庫

2021-07-26 02:28:50 字數 1946 閱讀 5588

greendao是乙個使用於android的orm框架,現在主流的orm框架有ormlite,sugarorm,active android,realm以及greendao.greendao的效能遠遠高於同類的orm框架,具體的測試結果官網有。

external

有時候資料表會由後台分發而不是自動生成,所以這裡簡單介紹下怎麼使用greendao操作這種情況下的資料表

需要注意以下幾點

1:android資料庫操作都是在databases資料夾下,所以要把需要動的資料庫複製到databases資料夾下

/*** assets目錄下的db轉移到databases

*/public void copydbtodatabases()

file datafile = new file(outfilename);

if (datafile.exists())

inputstream myinput;

outputstream myoutput = new fileoutputstream(outfilename);

byte buffer = new byte[1024];

int length;

while ((length = myinput.read(buffer)) > 0)

myoutput.flush();

myoutput.close();

myinput.close();

} catch (ioexception e)

}2:geendao自動生成的時候table 預設為tablename,預設id生成時"_id",這些生成的字段必須要和資料表中的字段一致,可以用 nameindb="" 指定欄位name和tablename

@entity(nameindb = "blacklist")

public class externalbean

@generated(hash = 981826822)

public externalbean()

public integer getid()

public void setid(integer id)

public string getemail()

public void setemail(string email)

}

專案build.gradle新增

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
compile 'org.greenrobot:greendao:3.2.0'

//修改生成類的位置

greendao

然後自定義userbean類

@entity

public class userbean

@generated(hash = 1203313951)

public userbean()

}

註解:

@entity 定義實體

@nameindb 在資料庫中的名字,如不寫則為實體中類名

@indexes 索引

@createindb 是否建立表,預設為true,false時不建立

@schema 指定架構名稱為實體

@active 無論是更新生成都重新整理

@id@notnull 不為null

@unique 唯一約束

@tomany 一對多

@orderby 排序

@toone 一對一

@transient 不儲存在資料庫中

@generated 由greendao產生的建構函式或方法

重新rebuild 一下專案,就可以看到greendao自動生成的資料庫相關類,比2.x時確實好用多了,之後用法還和以前一樣

python3 X操作mysql資料庫

在python2.x的版本中,連線mysql伺服器的 是這樣的 import mysqldb conn mysqldb.connect host 127.0.0.0 user root passwd 123 and so on.但是在3.x的版本裡,mysql for python mysqldb ...

python3 x操作mysql資料庫

1 安裝pymysql pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。使用pip命令安裝 pip install pymysql2 鏈結資料庫並對資料庫進行一些操作 插入資料 import pymysql 開啟資料庫連線 ...

Hive2 x學習筆記 3 基本操作

hive2.x學習筆記 3 基本操作 啟動hive hadoop hadoop100 hive檢視資料庫 hive show databases 開啟資料庫 hive use default 顯示資料庫中的表 hive show tables 建立一張表 hive create table emp ...