配置数据库 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文件
@Entity
public class User {
@Id
private Long id;
private String name;
}