【Android】解决GreenDao模糊查询数据为0

问题复现

模糊查询,我们在GreenDao是使用like
我们查询学生名称包含“一”的,代码示例:

 public List queryListByMessage(String name){
    DaoSession daoSession = ((Application) getApplication()).getDaoSession();
        QueryBuilder<Student> qb = daoSession.queryBuilder(Student.class);
        QueryBuilder<Student> studentQueryBuilder = qb.where(StudentDao.Properties.Name.like("一")).orderAsc(StudentDao.Properties.Name);
        List<Student> studentList = studentQueryBuilder.list();
        return list;
    }

这样查询出来的数据是0

解决办法

在like方法中,将字符串前后加上%符号,代码示例:

 public List queryListByMessage(String name){
    DaoSession daoSession = ((Application) getApplication()).getDaoSession();
        QueryBuilder<Student> qb = daoSession.queryBuilder(Student.class);
        QueryBuilder<Student> studentQueryBuilder = qb.where(StudentDao.Properties.Name.like("%"+"一"+"%")).orderAsc(StudentDao.Properties.Name);
        List<Student> studentList = studentQueryBuilder.list();
        return list;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。