GreenDao

gradle

greenDao

compile 'de.greenrobot:greendao:2.1.0'

greendao-generator,生成器

compile 'de.greenrobot:greendao-generator:2.1.0'

java mudole,帮助生成Dao文件,以及实体类,单独进行java程序的运行后生成Android相关文件,再进行编写

    package com.example;

    import java.io.IOException;
    import de.greenrobot.daogenerator.DaoGenerator;
    import de.greenrobot.daogenerator.Entity;
    import de.greenrobot.daogenerator.Schema;

    public class MyClass {
    public static void main(String[] args) {
        //设置版本信息,以及实体类生成的位置
        //schema:模式;计划;图解;概要
        Schema schema = new Schema(1, "com.shen.greendaodemo.entity");
        //dao文件夹是数据访问接口,用来操作DB文件,增删改查
        schema.setDefaultJavaPackageDao("com.shen.greendaodemo.dao");
        //实体类类型
        Entity user = schema.addEntity("User");
        //设置实体类属性,以及属性要求
        user.addIdProperty().autoincrement();
        user.addStringProperty("name").notNull();
        user.addStringProperty("cardID").unique();
        user.addIntProperty("age");

        try {
            //generator:产生器的意思
            DaoGenerator generator = new DaoGenerator();
            //schema的生成位置
            generator.generateAll(schema,"app/src/main/java-gen");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    }

activity对数据库操作

    package com.shen.greendaodemo;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;

    import com.shen.greendaodemo.dao.DaoMaster;
    import com.shen.greendaodemo.dao.DaoSession;
    import com.shen.greendaodemo.dao.UserDao;
    import com.shen.greendaodemo.entity.User;

    import java.util.List;

    import de.greenrobot.dao.query.QueryBuilder;

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //建立数据库表
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "test.db", null);
        DaoMaster master = new DaoMaster(helper.getWritableDatabase());
        DaoSession session = master.newSession();

        //获取操作数据库的直接类
        UserDao userDao = session.getUserDao();

        //insert时id必须唯一,或者用insertorreplace
        userDao.insert(new User(6L,"张神","100065",10));

        //获取数据库表中所有人员
        List<User> users = userDao.loadAll();
        Log.d("123","users:     "+users.size());

        //按条件查询
        QueryBuilder<User> builder = userDao.queryBuilder();
        builder.where(UserDao.Properties.Age.eq(13),UserDao.Properties.Name.eq("李四"));
        List<User> list = builder.build().list();
        Log.d("123", "list:     "+list.size());

        //删除所有
        userDao.deleteAll();

        //按对象删除
        userDao.delete(new User(3l));

        //更新对象
        userDao.update(new User(4L,"张虎","100004",13));
    }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值