GreenDao

GreenDao依赖配置:

配置GreenDao:

1:在Project添加依赖:

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'

2:在Model中添加依赖:

compile 'org.greenrobot:greendao:3.2.0'
应用插件:

apply plugin: 'org.greenrobot.greendao'

2.3:在Model中添加:

greendao {
    schemaVersion 1
    daoPackage 'bawei.coom.myapplication'
    targetGenDir 'src/main/java'
}

3:实体类都要加上注解 @Entity


首先初始化数据库:

import android.app.Application;
import android.database.sqlite.SQLiteDatabase;
import bawei.com.myapplication.gen.DaoMaster;
import bawei.com.myapplication.gen.DaoSession;

public class MyApp extends Application {

    private static DaoSession daoSession;

    @Override
    public void onCreate() {
        super.onCreate();
        //配置数据库
        setupDatabase();
    }
    /*
    *
    * 配置数据库
    * */
    private void setupDatabase() {
        //创建数据库 shop.dp
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "shop.dp", null);
        //获取可写数据库
        SQLiteDatabase db = helper.getWritableDatabase();
        //获取数据库对象
        DaoMaster master = new DaoMaster(db);
        //获取Dao对象管理者
        daoSession = master.newSession();


    }

    /*
    * 返回DaoSession
    * */
    public static DaoSession getSession(){
        return daoSession;
    }

}


LOVeDao(增,删,改,查):

import android.util.Log;
import java.util.List;
import bawei.com.myapplication.bean.User;
import bawei.com.myapplication.gen.UserDao;


public class LoveDao {
    private static String name1;
    private static long age1;
    private static String sex1;

    /*
        * 添加数据
        * */
    public static void getInsert(){
        User user = new User();
        user.setName("李四");
        user.setAge(18);
        user.setSex("男");
        MyApp.getSession().getUserDao().insertOrReplace(user);

        User user1 = new User(null,"那个女孩",20,"女");

        MyApp.getSession().getUserDao().insertOrReplace(user1);

    }
    /*
    *
    * 查询全部数据
    * */
    public static void getQuery(){
        List<User> users = MyApp.getSession().getUserDao().loadAll();
        for (int i = 0; i <users.size() ; i++) {
             String name = users.get(i).getName();
            long age = users.get(i).getAge();
            String sex = users.get(i).getSex();
            Log.d("哈哈1", "getQuery: "+name+" "+age+"  "+sex );
        }
    }

    /*
    * 根据name查询数据
    *
    * */
    public static void getQuery1(String name){

        List<User> list = MyApp.getSession().getUserDao().queryBuilder().where(UserDao.Properties.Name.eq(name)).build().list();
        for (int i = 0; i <list.size() ; i++) {
            name1 = list.get(i).getName();
            age1 = list.get(i).getAge();
            sex1 = list.get(i).getSex();

        }
        Log.d("滚", "getQuery: "+name1+" "+age1+"  "+sex1 );
    }

    /*
    *
    * 删除一条数据
    * */
    public static void getDelete(User  user){
        MyApp.getSession().getUserDao().delete(user);
    }


    /*
    *删除全部的方法
    * */
    public static void getDeleteAll(){
        MyApp.getSession().getUserDao().deleteAll();
    }

    /*
    *
    * 修改数据
    * */
    public static void getUpdate(User user){
        MyApp.getSession().getUserDao().update(user);
    }


}

MainActivity:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import bawei.com.myapplication.bean.User;

public class MainActivity extends AppCompatActivity {

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

        //删除全部的方法
        LoveDao.getDeleteAll();

        //添加数据
        LoveDao.getInsert();

        //查询全部的方法
        LoveDao.getQuery();

        //根据name查询方法
         LoveDao.getQuery1("那个女孩");

        //根据值删除一条数据
         User user1=new User((long) 1,"",0,"");
         LoveDao.getDelete(user1);

        //修改数据
        User user = new User((long) 5, "王五",25,"男");
        LoveDao.getUpdate(user);


    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值