写了一个java的测试程序,hbase数据库,
库表结构很简单,表名mymessage,列族cf,列 name,sex,address
页面及数据
页面查询条件四个列全部写SingleColumnValueFilter,java代码示例 name,sex,address
if (m2.getName() != null && !m2.getName().equals("")) {
filter2 = new SingleColumnValueFilter(Bytes.toBytes("cf"),
Bytes.toBytes("姓名"), CompareOp.EQUAL,
new SubstringComparator(m2.getName()));
filterList.addFilter(filter2);
}
if (m2.getSex() != null && !m2.getSex().equals("")) {
filter3 = new SingleColumnValueFilter(Bytes.toBytes("cf"),
Bytes.toBytes("性别"), CompareOp.EQUAL,
new SubstringComparator(m2.getSex()));
filterList.addFilter(filter3);
}
if (m2.getAddress() != null && !m2.getAddress().equals("")) {
filter4 = new SingleColumnValueFilter(Bytes.toBytes("cf"),
Bytes.toBytes("住址"), CompareOp.EQUAL,
new SubstringComparator(m2.getAddress()));
filterList.addFilter(filter4);
}
现在出了一个问题,页面输入查询条件,姓名与地址输入数据,数据会过滤后显示,但是性别输入以后,数据总是全部显示出来;
然后我换了一个表,test,列族cf,字段aa,bb,cc,对应还是 姓名 性别 住址
这时候页面输入查询条件,发现 aa,bb字段也就是姓名性别过滤是起作用的,cc字段,也就是住址字段这次过滤条件不起作用了,
这个问题搞了一下午,头都大了三圈,求求那位大神解答一下啊
|
|