Android(安卓)ORM妗嗘灦浠嬬粛涔媑reenDao閰嶇疆(涓€)
16lz
2021-01-24
Android ORM妗嗘灦浠嬬粛涔媑reenDao閰嶇疆(涓€)
greenDao鐨勯厤缃?鏂规硶涓€) - 鍒涘缓涓€涓猘ndroid搴旂敤,鍦ㄥ簲鐢ㄧ殑build鏂囦欢涓坊鍔犱緷璧栧寘銆?/li>
dependencies { ... compile 'org.greenrobot:greendao:3.1.0'}
dependencies { ... compile 'org.greenrobot:greendao:3.1.0'}
2.鍦ㄩ」鐩腑鐨刴ain鐩綍涓嬫柊寤轰竴涓猨ava-gen鐩綍锛屼笌java鐩綍骞崇骇銆?/p>
3.鍦ㄥ簲鐢ㄧ殑build鏂囦欢涓紝鍏宠仈銆?/p>
sourceSets{ main{ java.srcDirs=['src/main/java','src/main/java-gen'] } }
濡傚浘鎵€绀猴細
4.鍒涘缓涓€涓猨ava椤圭洰,鍦╦ava椤圭洰娣诲姞渚濊禆搴揫娉細java椤圭洰鐨勫垱寤篯
compile 'org.greenrobot:greendao-generator:3.1.0'
濡傚浘鎵€绀?/em>
5.鍦╦ava椤圭洰涓殑main鏂规硶涓啓濡備笅浠g爜锛?/p>
import org.greenrobot.greendao.generator.DaoGenerator;import org.greenrobot.greendao.generator.Entity;import org.greenrobot.greendao.generator.Schema;public class MyClass { private static final int VERSION = 1; private static final String ENTITY_PACKAGE = "com.zhang.db.entity"; private static final String DBO_PACKAGE = "com.zhang.db.dao"; private static final String PATH = "C:\\MyWorkSpace\\Demo2\\greendao\\src\\main\\java-gen"; private static final String BASE = "BaseModel"; private static final String BASE_DAO = "BaseDao"; private static final String MODEL="Model"; private static final String MODEL_DAO="ModelDao"; private static final String MODEL_TABLE_NAME="tb_model"; public static void main(String[] args) { Schema schema = new Schema(VERSION, ENTITY_PACKAGE);//璁剧疆鐗堟湰鍙凤紝瀹炰綋鍖呭悕(model鎵€鍦ㄧ殑鍖? schema.setDefaultJavaPackageDao(DBO_PACKAGE);//璁剧疆Dao灞傛墍鍦ㄧ殑鍖?/span> createBase(schema); createModel(schema); } private static void createBase(Schema schema) { Entity entity = schema.addEntity(BASE); entity.addIdProperty().unique().autoincrement(); entity.addStringProperty("desc"); entity.setClassNameDao(BASE_DAO); try { new DaoGenerator().generateAll(schema, PATH); } catch (Exception e) { e.printStackTrace(); } } private static void createModel(Schema schema) { Entity entity =schema.addEntity(MODEL);//璁剧疆瀹炰綋绫荤殑绫诲悕锛堝氨鏄疢odel绫伙級锛屽鏋滀笉璁剧疆setTableName()锛岃〃绀虹被鍚嶅氨鏄〃鍚?/span> entity.addIdProperty().unique().autoincrement();//涓婚敭锛屽敮涓€锛岃嚜澧?浼氱敓鎴愮浉搴旂殑娉ㄨВ) entity.addStringProperty("name").notNull();//璁剧疆瀛楁涓嶄负null entity.addIntProperty("age");//琛ㄤ腑鐨勫瓧娈靛悕 entity.addLongProperty("createTime");//琛ㄤ腑鐨勫瓧娈靛悕 entity.setClassNameDao(MODEL_DAO);//璁剧疆Dao鐨勫疄浣撶被鐨勫悕绉?/span> entity.setTableName(MODEL_TABLE_NAME);//璁剧疆鏁版嵁搴撹〃鍚?/span> try { new DaoGenerator().generateAll(schema,PATH);//PATH灏辨槸android椤圭洰涓殑java-gen鐩綍鐨勭粷瀵硅矾寰勶紝閫氳繃Dao鐨勭敓鎴愬櫒鐢熸垚鏁版嵁 } catch (Exception e) { e.printStackTrace(); } }}
6.鎵цjava椤圭洰锛屾垚鍔熷悗浼氬湪鎺у埗鍙版墦鍗發og锛屽悓鏃跺湪android椤圭洰鐨刯ava-gen鐩綍鐢熸垚濡備笅浠g爜锛?/p>
buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.1.0' }}apply plugin: 'org.greenrobot.greendao'dependencies { ... compile 'org.greenrobot:greendao:3.1.0'}greendao { // 鏁版嵁搴搒chema鐗堟湰锛屼篃鍙互鐞嗚В涓烘暟鎹簱鐗堟湰鍙? schemaVersion 1 // 璁剧疆DaoMaster 銆丏aoSession銆丏ao鍖呭悕 daoPackage 'www.weshared.db.dao' // 璁剧疆DaoMaster 銆丏aoSession銆丏ao鐩綍 targetGenDir 'src/main/java' // 璁剧疆鐢熸垚鍗曞厓娴嬭瘯鐩綍 // targetGenDirTest 'xx/xx/xx' // 璁剧疆鑷姩鐢熸垚鍗曞厓娴嬭瘯鐢ㄤ緥 // generateTests }
2.鍦ㄩ」鐩腑鍒涘缓涓€涓猨avabean绫伙紝鍦ㄨ绫讳笂闈娇鐢ˊEntity娉ㄨВ锛岀劧鍚庡湪make project銆?
鍏蜂綋鎿嶄綔濡備笅鍥撅細
make project涔嬪悗鐢熸垚鐨勬枃浠跺強鐩綍
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer