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