GreenDao简单操作

来源:互联网 发布:手机系统检测软件 编辑:程序博客网 时间:2024/06/06 03:23
配置数据库 DBhelper
public class DbHelper {    private static volatile DbHelper instance;    private final DaoSession daoSession;    private DbHelper(String name, Context context){        //初始化数据库的一些配置        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(context, name, null);        //获取数据库操作对象        SQLiteDatabase db = helper.getWritableDatabase();        //获取DaoMaster对象        DaoMaster daoMaster = new DaoMaster(db);        //获取DaoSession对象        daoSession = daoMaster.newSession();    }    public static  DbHelper getInstance(String name, Context context){        if (instance==null){            synchronized (DbHelper.class){                if (instance==null){                    instance=new DbHelper(name, context);                }            }        }        return instance;    }    public UserDao getUserDao(){        return daoSession.getUserDao();    }}

对数据的增,删,改,查

public class MainActivity extends AppCompatActivity {    @BindView(R.id.et_userid)    EditText etUserid;    @BindView(R.id.et_username)    EditText etUsername;    @BindView(R.id.btn_add)    Button btnAdd;    @BindView(R.id.btn_del)    Button btnDel;    @BindView(R.id.btn_select)    Button btnSelect;    @BindView(R.id.tv_show)    TextView tvShow;    @BindView(R.id.btn_update)    Button btnUpdate;    private UserDao dao;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);        dao = DbHelper.getInstance("user", this).getUserDao();    }    @OnClick({R.id.btn_add, R.id.btn_del, R.id.btn_update,R.id.btn_select})    public void onViewClicked(View view) {        switch (view.getId()) {            //添加            case R.id.btn_add:                Long id = Long.valueOf(etUserid.getText().toString().trim());                String name = etUsername.getText().toString().trim();                    User user = new User();                    user.setId(id);                    user.setName(name);                    long count = dao.insert(user);                break;            //删除            case R.id.btn_del:                User user1 = new User();                user1.setId(2L);                dao.delete(user1);                break;            //修改数据            case R.id.btn_update:                //根据id更改数据                User user2 = new User(4L,"范杰");                dao.update(user2);                break;            //查询 n            case R.id.btn_select:                //查询所有数据//                List<User> users = dao.loadAll();                tvShow.setText("");//                for(int i=0;i<users.size();i++){//                    User user1 = users.get(i);//                    //展示//                    tvShow.append(user1.getId()+user1.getName()+"=====");//                }                //根据条件查询(String)//                User user1 = dao.queryBuilder().where(UserDao.Properties.Name.eq("李四")).unique();//                tvShow.setText(user1.toString());                //在多条同时满足条件时不能查询//                User user1 = dao.queryBuilder().where(UserDao.Properties.Id.eq(2),UserDao.Properties.Name.eq("李四")).unique();                //在多条同时满足条件时可以查询                List<User> list = dao.queryRaw("where name=?", "李四");                tvShow.append(list.toString());                break;        }    }}
实体类要加注解生成gen文件

@Entitypublic class User {    @Id    private Long id;    private String name;}



原创粉丝点击