导依赖
compile'org.greenrobot:greendao:3.0.1' compile'org.greenrobot:greendao-generator:3.0.0'}
public class MyApp extends Application { private DaoSession daoSession; private static MyApp myApp; @Override public void onCreate() { super.onCreate(); myApp = this;// DevOpenHelper数据库的帮助类// 1.上下文,2.数据库的名字,3.指针,null 代表使用默认指针 DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "demo.db", null); SQLiteDatabase db = helper.getReadableDatabase();//得到数据库 DaoMaster daoMaster = new DaoMaster(db); daoSession = daoMaster.newSession(); } //获取实例 public static MyApp getInstance() { return myApp; } //定义方法,返回DaoSession public DaoSession getDaoSession() { return daoSession; }
}
/** * 1.配置 * 2.初始化 * 3.开始使用 */public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity======"; @BindView(R.id.name) EditText name; @BindView(R.id.pass) EditText pass; @BindView(R.id.add) Button add; @BindView(R.id.dele) Button dele; @BindView(R.id.update) Button update; @BindView(R.id.query) Button query; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } @OnClick({R.id.add, R.id.dele, R.id.update, R.id.query}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.add: //添加 String name1 = name.getText().toString(); String pass1 = pass.getText().toString(); // Person person = new Person(); person.setName(name1); person.setPassword(pass1); MyApp myApp = MyApp.getInstance(); DaoSession daoSession = myApp.getDaoSession(); //PersonDao具体的操作类 PersonDao personDao = daoSession.getPersonDao(); personDao.insert(person);//添加 break; case R.id.dele: //删除所有张三 MyApp myApp2 = MyApp.getInstance(); DaoSession daoSession2 = myApp2.getDaoSession(); PersonDao personDao2 = daoSession2.getPersonDao(); // List<Person> list1 = personDao2.queryBuilder().where(PersonDao.Properties.Name.like("张三")).build().list(); for (int i=0;i<list1.size();i++){ personDao2.delete(list1.get(i)); } break; case R.id.update: //修改 MyApp myApp3 = MyApp.getInstance(); DaoSession daoSession3 = myApp3.getDaoSession(); PersonDao personDao3 = daoSession3.getPersonDao(); List<Person> list2 = personDao3.queryBuilder().build().list(); for (int i = 0; i < list2.size(); i++) { if (list2.get(i).getName().equals("李四")){ list2.get(i).setPassword("1234567890"); personDao3.update(list2.get(i)); } } break; case R.id.query: //查询 MyApp myApp1=MyApp.getInstance(); DaoSession daoSession1 = myApp1.getDaoSession(); PersonDao personDao1 = daoSession1.getPersonDao(); //全查 List<Person> list = personDao1.queryBuilder().build().list();// Log.d(TAG, "onViewClicked: "+list.toString()); //按条件查询// eq相等// List<Person> list = personDao1.queryBuilder().where(PersonDao.Properties.Age.gt(12)).build().list();// Log.d(TAG, "onViewClicked: "+list);// 模糊查询// List<Person> list = personDao1.queryBuilder().where(PersonDao.Properties.Name.like("%三%")).build().list(); Log.d(TAG, "onViewClicked: "+list); break; } }}
