GreenDao的简单实用增删改查

配置GreenDao请参考

http://blog.youkuaiyun.com/Hi_AndG/article/details/54695725


User类

@Id
private Long id;
@Property(nameInDb = "USERNAME")
private String username;
@Property(nameInDb = "NICKNAME")
private String nickname;


布局只有四个点击事件,就不粘了


public class MainActivity extends AppCompatActivity {

    UserDao userDao;
    Button btn,btn_up,btn_del,btn_add;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.mbutton);
        btn_up = (Button) findViewById(R.id.btn_up);
        btn_del = (Button) findViewById(R.id.btn_del);
        btn_add = (Button) findViewById(R.id.btn_add);
        //初始化管理的包(后面newOpenHelper包)
        DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(getApplicationContext(), "lenve.db", null);
        DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDb());
        DaoSession daoSession = daoMaster.newSession();
        //UserDao接受
        userDao = daoSession.getUserDao();


        //添加
        btn_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //new一个对象整个添加进去,insert方法
                User user = new User(null, "二狗子","80");
                userDao.insert(user);
            }
        });
        //查询
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //首先是要查出来全部,这里有很多方法,比如limit,或者between,大家可以看文档
                List<User> list = userDao.queryBuilder()
                        .build().list();
                //之后就是遍历查询出来的集合
                for (int i = 0; i < list.size(); i++) {
                    Log.d("google_lenve","id========="+list.get(i).getId()+ "name===== " + list.get(i).getUsername()+"age===="+list.get(i).getNickname());
                }
            }
        });
        //修改
        btn_up.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //修改也是一样,这里where后面加了个条件,eq的意思是等于。.list()的意思是查询出一个集合,也可以换成unique,
                // 意思是查询出一条,当然就不能用集合区接收了

                List<User> user2 = (List<User>) userDao.queryBuilder()
                        .where(UserDao.Properties.Username.eq("二狗子")).build().list();
                //查询出后如果集合user2是空,证明你要修改的那个不存在,
                if (user2 == null) {
                    Toast.makeText(MainActivity.this, "用户不存在!", Toast.LENGTH_SHORT).show();
                }else{
//                    user2.setUsername("儿子");
//                    userDao.update(user2);
                    //查询出后遍历集合,一条一条的修改。
                    for (int i = 0; i < user2.size(); i++) {
                        //Log.d("google_lenve","id========="+list.get(i).getId()+ "name===== " + list.get(i).getUsername()+"age===="+list.get(i).getNickname());
                        user2.get(i).setUsername("将定燃");
                        userDao.update(user2.get(i));
                    }

                }
            }
        });
        //删除
        btn_del.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //删除也是同理,首先查询出你要删除的数据,之后是遍历集合,然后一条一条的删除
                List<User> userList = (List<User>) userDao.queryBuilder().where(UserDao.Properties.Username.eq("将定燃")).build().list();
                for (User user : userList) {
                    userDao.delete(user);
                }
            }
        });



    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值