GreenDao增删改查


首先完成GreenDao的配置生成DaoMaster和DaoSession和UserDao三个类,我博客里有GreenDao的配置。

在建User类的时候主键必须是Long类型


1.先定义一个App继承Application使用饿汉式

public class MyApp extends Application {
   public static MyApp myApp;
    private DaoMaster.DevOpenHelper dudu;
    private SQLiteDatabase writableDatabase;
    private DaoMaster daoMaster;
    private DaoSession daoSession;

    @Override
    public void onCreate() {
        super.onCreate();
       myApp=this;
        setDb();
    }
    public static MyApp getMyApp(){
        return myApp;
    }
    public void setDb(){

        dudu = new DaoMaster.DevOpenHelper(this, "dudu123", null);
        writableDatabase = dudu.getWritableDatabase();
        daoMaster = new DaoMaster(writableDatabase);
        daoSession = daoMaster.newSession();
    }
    public DaoSession getDaoSession(){
        return daoSession;
    }
    public SQLiteDatabase getWritableDatabase(){
        return writableDatabase;
    }
}
2.在Activity得到数据库然后增删改查
public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //得到UserDao
        UserDao userDao = MyApp.getMyApp().getDaoSession().getUserDao();
        //实例化bean类
        User user1=new User(Long.valueOf(104),"哈哈1");
        User user2=new User(Long.valueOf(105),"哈哈2");
        User user3=new User(Long.valueOf(106),"哈哈3");
        User user4=new User(Long.valueOf(107),"哈哈4");
        //把对象增加到数据库
        userDao.insert(user1);
        userDao.insert(user2);
        userDao.insert(user3);
        userDao.insert(user4);

        //查询数据库里的所有信息
        List<User> users = userDao.loadAll();
        for (int i = 0; i <users.size() ; i++) {
            Log.d(">>>>>>",users.get(i).getName());

        }
        //删除集合下标为零的数据
        userDao.delete(users.get(0));
        List<User> users1 = userDao.loadAll();
        for (int i = 0; i <users1.size() ; i++) {
            Log.d("<<<<",users1.get(i).getName());

        }
        //更改主键为106的name为贾继龙
        User user5=new User(Long.valueOf(106),"贾继龙");
        userDao.update(user5);
        List<User> users2 = userDao.loadAll();
        for (int i = 0; i <users2.size() ; i++) {
            Log.d("xxx",users2.get(i).getName());

        }
    }
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值