greendao 辅助类

/**
 * 数据库操作辅助类
 */
public class DbUsers {

   private static final String TAG = DbUsers.class.getSimpleName();
   private static DbUsers instance;
   private static Context appContext;
   private DaoSession mDaoSession;
   private UsersDao usersDao;
   private List<Users> list;

   public DbUsers() {
      // TODO Auto-generated constructor stub
   }

   public static DbUsers getInstance(Context context) {
      if (instance == null) {
         instance = new DbUsers();
         if (appContext == null) {
            appContext = context.getApplicationContext();
         }
         instance.mDaoSession = Myapplication.getDaoSession(context);
         instance.usersDao = instance.mDaoSession.getUsersDao();
      }
      return instance;
   }

   public Users loadUsers(long id) {
      return usersDao.load(id);
   }

   public List<Users> loadAllUsers() {
//    return UsersDao.loadAll();
      QueryBuilder<Users> query = mDaoSession.queryBuilder(Users.class);
      List<Users> all = query.list();
      return all;
   }

   public List<Users> queryUsers(String where, String... params) {
      return usersDao.queryRaw(where, params);
   }

   public long saveUsers(Users Users) {
      return usersDao.insertOrReplace(Users);
   }

   public void saveUsersLists(final List<Users> list) {
      if (list == null || list.isEmpty()) {
         return;
      }
      usersDao.getSession().runInTx(new Runnable() {

         @Override
         public void run() {
            for (int i = 0; i < list.size(); i++) {
               Users Users = list.get(i);
               usersDao.insertOrReplace(Users);
            }
         }
      });
   }

   public void deleteAllUsers() {
      usersDao.deleteAll();
   }

   public void deleteUsers(long id) {
      usersDao.deleteByKey(id);
   }


   public void deleteUsers(Users Users) {
      usersDao.delete(Users);
   }


   //查询某个表是否包含某个id
   public boolean isSaved(int ID) {
      QueryBuilder<Users> qb = usersDao.queryBuilder();
      qb.where(com.vd.tank.data.dao.UsersDao.Properties.Id.eq(ID));
      qb.buildCount().count();
      return qb.buildCount().count() > 0 ? true : false;
   }

   public boolean isName(String name) {
      QueryBuilder<Users> qb = usersDao.queryBuilder();
      qb.where(com.vd.tank.data.dao.UsersDao.Properties.Name.eq(name));
      qb.buildCount().count();
      return qb.buildCount().count() > 0 ? true : false;
   }

   //获取整个表的数据集合
   public List<Users> getUsersList() {
      return usersDao.loadAll();
   }

   //通过一个字段值查找对应的另一个字段值
// public long getUsersId(String text) {
//    QueryBuilder<Users> qb = UsersDao.queryBuilder();
//    qb.where(Properties.Text.eq(text));
//    if (qb.list().size() > 0) {
//       return qb.list().get(0).getId();
//    } else {
//       return -1;
//    }
// }

   //查找所有TEXT属性为text,并且id排序(降序)list.
// public List<Users> getUsersLidtByTextIdAsc(String text) {
//    List<Users> list = UsersDao.queryBuilder().where(Properties.Text.eq(text)).orderDesc(Properties.Id).list();
//    return list;
// }

   //获取TEXT字段为text,并且COMMENT字段为comment的数据集合
// public List<Users> getSupportUsersList(String text, String comment) {
//    QueryBuilder<Users> qb = UsersDao.queryBuilder();
//    qb.where(qb.and(Properties.Text.eq(text), Properties.Comment.eq(comment)));
//    qb.orderAsc(Properties.Id);
//    return qb.list();
// }

   //获取DATE字段为comment,并且AGE字段>=age的数据集合
// public List<Users> getSupportUsersList(String comment, int age) {
//    QueryBuilder qb = UsersDao.queryBuilder();
//    qb.where(Properties.Comment.eq(comment), qb.or(Properties.Age.gt(age), Properties.Age.eq(age)));
//    return qb.list();
// }

   //Users插入表中
   public void addToUsersTable(Users users) {
//    UsersDao.insert(Users);

      usersDao.insertOrReplace(users);
//    UsersDao.insertInTx(Users);
   }

   public void update(Users users){
      usersDao.update(users);
   }

   public List<Users> seachname(String name) {
      list=new ArrayList<>();
      QueryBuilder<Users> qb = usersDao.queryBuilder();
       list = qb.where(com.vd.tank.data.dao.UsersDao.Properties.Name.eq(name)).list();
      return list;
   }

   public Long searchnameid(String name) {
      QueryBuilder<Users> queryBuilder = usersDao.queryBuilder().where(com.vd.tank.data.dao.ReuserDao.Properties.Name.eq(name));
      Users user = queryBuilder.unique();
      return user.getId();
   }

   public void deletename(String name) {
      QueryBuilder<Users> qb = usersDao.queryBuilder();
      DeleteQuery<Users> db = qb.where(com.vd.tank.data.dao.UsersDao.Properties.Name.eq(name)).buildDelete();
      db.executeDeleteWithoutDetachingEntities();
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值