public static void main(String[] args) { try { BaseService<Case> caseService = new BaseServiceImpl<Case>( Case.class, new HBaseSolrRespository("http://10.106.1.218:8035/search/HBaseData")); // create or delete table caseService.deleteTable(); caseService.createTableIFNotExists(); // create random data String[] codeArray = new String[] { "001", "001001", "001002", "003", "003001", "003002", "002", "002001", "002002" }; String[] type1Array = new String[] {"0", "1", "2"}; String[] type2Array = new String[] {"A", "B"}; String[] type3Array = new String[] {"T", "F"}; for (int i = 0; i < 100; i++) { Float rand = new Random().nextFloat() * 10; Case insert = new Case(); insert.setId(String.valueOf(new Date().getTime())); insert.setCode(codeArray[rand.intValue() % 9]); insert.setType1(type1Array[rand.intValue() % 3]); insert.setType2(type2Array[rand.intValue() % 2]); insert.setType3(type3Array[rand.intValue() % 2]); caseService.saveBoth(insert); } // delete data from hbase and solr, need real id for replacing "1398307480659" caseService.deleteByIdBoth("1398307480659"); // update for hbase and solr, need real id for replacing "1398586376119" Case update = new Case(); update.setId("1398586376119"); update.setCode("024"); update.setType1("2"); update.setType2("A"); update.setType3("T"); update.setDate(new Date().toString()); caseService.updateBoth(update); // find data by id, need real id for replacing "1398586376119" Case caseTemp = caseService.findById("1398586376119"); System.out.println(caseTemp.toString()); // find all data with start and stop, need real id for replacing "1398586376119" and // "1398596376119" List<Case> caseList = caseService.findAll(Bytes.toBytes("1398586376119"), Bytes.toBytes("1398596376119")); for (Case caseStat : caseList) { System.out.println(caseStat.toString()); } // find by solr List<Case> caseList1 = caseService.findBySolr( new String[] {"code", "type2", "type3"}, new String[] {"code:[002 TO 003}", "type3:T"}, null, null); for (Case caseStat : caseList1) { System.out.println(caseStat.toString()); } // find by hbase with custom filter, need real id for replacing "1398588160236" and // "1398588158660" and "1398688158660" List<Case> caseList2 = caseService.findByFilter( new RowFilter( CompareFilter.CompareOp.LESS_OR_EQUAL, new BinaryComparator(Bytes.toBytes("1398588160236"))), Bytes.toBytes("1398588158660"), Bytes.toBytes("1398688158660")); for (Case caseStat : caseList2) { System.out.println(caseStat.toString()); } // page by solr Page<Case> page = new Page<Case>(); page.setPageSize(6); page = caseService.pageBySolr( new String[] {"code", "type2", "type3"}, new String[] {"code:[002 TO 003}"}, null, null, page); System.out.println(page.getCurrent()); for (Case caseStat : page.getDataList()) { System.out.println(caseStat.toString()); } for (int i = 1; i < page.getTotal(); i++) { page.setCurrent(page.getCurrent() + 1); page = caseService.pageBySolr( new String[] {"code", "type2", "type3"}, new String[] {"code:[002 TO 003}"}, null, null, page); System.out.println(page.getCurrent()); for (Case caseStat : page.getDataList()) { System.out.println(caseStat.toString()); } } } catch (Exception e) { e.printStackTrace(); } }