利用註解獲取greendao的表名

2021-09-01 12:47:55 字數 694 閱讀 8797

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