greendao的简单使用


后台说购物车要自己写,然后结算的时候在把数据传给他。真的是很想拿刀架在他脖子上,叫他再说一遍。

言归正传了。

greenDAO 优势

1、一个精简的库
2、性能最大化
3、内存开销最小化
4、易于使用的 APIs
5、对 Android 进行高度优化

GreenDao 3.0使用

GreenDao 3.0采用注解的方式来定义实体类,通过gradle插件生成相应的代码。


首先

一,在as中导入相关的包

我只导入这个

compile'org.greenrobot:greendao:3.0.1'

网上说还要导入  compile'org.greenrobot:greendao-generator:3.0.0'

我导入这个时候架包冲突。

所以我导入第一个,还是很愉快的在使用;


在build.gradle中进行配置:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'//加入这个

    }
}

在build.gradle中进行配置:

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'  //加入这个

自定义路径

greendao {
    schemaVersion 1
    daoPackage 'com.anye.greendao.gen'
    targetGenDir 'src/main/java'
}

然后创建一个ShopGreenDao实体类   

@Entity
public class ShopGreenDao {
    @Id(autoincrement = true)
    private Long id;
    private String GoodsName;//商品名称
    private int Num;//数量
    private String price;//价格
    private String ShopId;//店铺Id
    private String UserId;//用户名称
    private String GoodsId;//商品id
    private String  mType;//规格
    private String ShopName; //店铺名称
    private boolean isSeleck;//商品是否选中
    private String isSelect;//选中的标识
    private boolean isShopSelect;//店铺是否选择
    private String ImgUrl;//图片
    private int isFirst = 2;
}
Make Project一下

就能生成这三个文件


需要在Application注册


public class BaseApplication extends Application{

    private DaoMaster.DevOpenHelper mHelper;
    private SQLiteDatabase db;
    private DaoMaster mDaoMaster;
    private DaoSession mDaoSession;

    private static DaoSession daoSession;
    public static BaseApplication instances;
    @Override
    public void onCreate() {
        super.onCreate();
        //配置数据库
        setupDatabase();
        instances = this;
    }
    public static BaseApplication getInstances(){
        return instances;
    }
    /**
     * 配置数据库
     */
    private void setupDatabase() {
        // 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
        // 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
        // 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
        // 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
        mHelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);
        db = mHelper.getWritableDatabase();
        // 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
        mDaoMaster = new DaoMaster(db);
        mDaoSession = mDaoMaster.newSession();
    }
    public DaoSession getDaoSession() {
        return mDaoSession;
    }
    public SQLiteDatabase getDb() {
        return db;
    }

}



shopGreenDao = BaseApp.getInstances().getDaoSession().getShopGreenDaoDao();//得到数据库
 

	
//插入数据
  		ShopGreenDao shopGreenDao = new ShopGreenDao();
                shopGreenDao.setGoodsId(listBean.getId());
                shopGreenDao.setPrice(listBean.getRebateprice() + "");
                shopGreenDao.setGoodsName(listBean.getName());
                shopGreenDao.setNum(1);
                shopGreenDao.setShopId(mDatas.getShopInfo().getId());
                shopGreenDao.setUserId(userid);
                shopGreenDao.setShopName(mDatas.getShopInfo().getName());
                shopGreenDao.setIsSeleck(false);
                shopGreenDao.setImgUrl(listBean.getImageurl());
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < mSave.size(); i++) {
                    sb.append(mSave.get(i));
                    sb.append(",");
                }

                shopGreenDao.setMType(sb.toString());
                mShopGreenDao.insert(shopGreenDao);//插入数据


//查询  数据

		List<ShopGreenDao> mList = shopGreenDao.queryBuilder().where(ShopGreenDaoDao.Properties.ShopId.eq(mShopId)).build().list();
 
		   //清空数据
		shopGreenDao.deleteInTx(mList);

 //修改数据

  		ShopGreenDao shopGreenDao = new ShopGreenDao();
                shopGreenDao.setGoodsId(listBean.getId());
                shopGreenDao.setPrice(listBean.getRebateprice() + "");
                shopGreenDao.setGoodsName(listBean.getName());
                shopGreenDao.setNum(1);
                shopGreenDao.setShopId(mDatas.getShopInfo().getId());
                shopGreenDao.setUserId(userid);
                shopGreenDao.setShopName(mDatas.getShopInfo().getName());
                shopGreenDao.setIsSeleck(false);
                shopGreenDao.setImgUrl(listBean.getImageurl());
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < mSave.size(); i++) {
                    sb.append(mSave.get(i));
                    sb.append(",");
                }

                shopGreenDao.setMType(sb.toString());
		mShopGreenDao.update(user); //修改数据

 //删除这条数据

		ShopGreenDao shopGreenDao = new ShopGreenDao();
		mShopGreenDao.delete(shopGreenDao);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值