GreenDao 初步使用
2016-10-10 19:54
225 查看
一、环境
官网:http://greenrobot.org/greendao/
下载 jar
greenDao.jar: http://search.maven.org/#search%7Cga%7C1%7CgreenDao
freemarker: http://mvnrepository.com/artifact/org.freemarker/freemarker
二、GreenDao 相关
第三方orm:OrmLite、SugarORM、Active Android、Realm 、GreenDAO
greenDAO的主要设计目标:
最大性能(最快的Android ORM)
易于使用API
高度优化
最小内存消耗
三、使用
1.首先需要新建一个java工程来生成DAO类文件,该工程需要导入greendao-generator.jar和freemarker.jar文件到项目中。
2.app中使用时建议创建一个辅助类,管理DaoMater和每个表的DAO.
四、项目Demo
Demo: http://download.csdn.net/detail/keleeat/9649988
官网:http://greenrobot.org/greendao/
下载 jar
greenDao.jar: http://search.maven.org/#search%7Cga%7C1%7CgreenDao
freemarker: http://mvnrepository.com/artifact/org.freemarker/freemarker
二、GreenDao 相关
第三方orm:OrmLite、SugarORM、Active Android、Realm 、GreenDAO
greenDAO的主要设计目标:
最大性能(最快的Android ORM)
易于使用API
高度优化
最小内存消耗
三、使用
1.首先需要新建一个java工程来生成DAO类文件,该工程需要导入greendao-generator.jar和freemarker.jar文件到项目中。
public static void main(String[] args) throws Exception { Schema schema = new Schema(2, "com.client.database.im"); addMessage(schema); new DaoGenerator().generateAll(schema, "./src-gen"); } private static void addMessage(Schema schema) { Entity conversation = schema.addEntity("Conversations"); conversation.addIdProperty(); conversation.addStringProperty("className"); conversation.addIntProperty("conversation_type").notNull(); Entity messages = schema.addEntity("Messages"); messages.addIdProperty(); Property conversation_ID = messages.addLongProperty("conversation_ID") .notNull().getProperty(); messages.addToOne(conversation, conversation_ID); }
2.app中使用时建议创建一个辅助类,管理DaoMater和每个表的DAO.
package com.kele.greendao.db; import org.greenrobot.greendao.query.QueryBuilder; import android.content.Context; import com.kele.greendao.model.ConversationsDao; import com.kele.greendao.model.DaoMaster; import com.kele.greendao.model.DaoMaster.OpenHelper; import com.kele.greendao.model.DaoSession; import com.kele.greendao.model.Messages; import com.kele.greendao.model.MessagesDao; public class DBHelper { private static DBHelper instance; private static Context mContext; private static DaoMaster daoMaster; private static DaoSession daoSession; private ConversationsDao conversationsDao; private MessagesDao messagesDao; /** * 取得DaoMaster * * @param context * @return */ public static DaoMaster getDaoMaster(Context context) { if (daoMaster == null) { OpenHelper helper = new DaoMaster.DevOpenHelper(context, "im-db.db", null); daoMaster = new DaoMaster(helper.getWritableDatabase()); } return daoMaster; } /** * 取得DaoSession * * @param context * @return */ public static DaoSession getDaoSession(Context context) { if (daoSession == null) { if (daoMaster == null) { daoMaster = getDaoMaster(context); } daoSession = daoMaster.newSession(); } return daoSession; } private DBHelper() { } public static void init(Context context) { mContext = context; instance = new DBHelper(); // 数据库对象 DaoSession daoSession = getDaoSession(mContext); instance.setMessagesDao(daoSession.getMessagesDao()); instance.setConversationsDao(daoSession.getConversationsDao()); } public static DBHelper getInstance() { return instance; } public ConversationsDao getConversationsDao() { return conversationsDao; } public void setConversationsDao(ConversationsDao conversationsDao) { this.conversationsDao = conversationsDao; } public MessagesDao getMessagesDao() { return messagesDao; } public void setMessagesDao(MessagesDao messagesDao) { this.messagesDao = messagesDao; } public int getAllMessageNumByConversationID(Long id) { QueryBuilder<Messages> qb = messagesDao.queryBuilder(); qb.where(com.kele.greendao.model.MessagesDao.Properties.Conversation_ID .eq(id)); return (int) qb.buildCount().count(); } }
四、项目Demo
Demo: http://download.csdn.net/detail/keleeat/9649988
相关文章推荐
- 关于GreenDao的初步使用
- Android之greenDao,一个orm的使用
- 使用greenDao in Eclipse
- Android之greenDao的使用
- Android greenDao 使用教程(一)源码编译与使用
- Android之greenDao,一个orm的使用
- GreenDao的简单使用说明(六)补遗
- Android greenDao 数据库的使用(三)
- greenDao的使用---重点来啦 实现ORM连表 增删改查 颤抖吧凡人
- GreenDao的简单使用说明(四)特殊的单表1:n
- GreenDao的使用心得和分享
- greenDao的使用教程
- greenDao的使用教程
- Android Studio平台使用GreenDao操作数据库
- greenDAO的使用
- Android:greenDao与Parcelable使用总结
- 关于greenDao的使用
- android greenDao使用
- Android-SQLite3_4-greenDAO的使用
- GreenDao的简单使用说明(五)多表n:m