greendao entity註解類原始碼中:
@retention(retentionpolicy.source) //表示編譯時有效,執行時是沒有效果的
所以無法使用greendao的註解來進行對映獲取表名等屬性 ;
首先自己新建註解類後重新註解;
@retention(retentionpolicy.runtime) //使其執行時有效
@target(elementtype.type)
public @inte***ce subtable
其次,獲取包名下的所有類名;
參考了網上的方法都行不通,最後只能用土辦法,乙個個讀出類名了,有辦法的小夥伴可以告訴我o~
class clazz = class.forname("com.mapgis.www.geosurvey.entitys.sub.comprehensiveengentity");
最後,解析註解類。
subtable tablename = (subtable) clazz.getannotation(subtable.class);
mapmap = new hashmap<>();
map.put("tablename", tablename.title());
利用反射,註解獲取建表的sql
前言 因為專案很老,還是用的原生sqlite,因為建表還是手動構建sql,cursor轉bean或者list都不靈活,特此用反射和註解做了優化處理 首先建立我們的標註,有tablename,primary,notnull,defaulttext,defaultint,defaultdecimal,a...
greendao的擴充套件
greendao是乙個orm框架,在資料庫操作方面有很多優勢,本人使用中進行了擴充套件,如下 1資料庫表字段的預設值 entity entity schema.addentity c entity addstringproperty user name defvalue 123 defvalue引數...
GreenDao的簡單實用
1 引入greendao 先在project的build.gradle中引入greendao支援外掛程式 buildscript dependencies compile org.greenrobot greendao 3.0.1 compile org.greenrobot greendao ge...