HBaseConvetorUtil 实体转换工具类
public class HBaseConvetorUtil {
/**
* @Title: convetor
* @Description: 传入hbase返回结果值。返回实例集合
* @param
* @return
* @throws
*/
public static <T>
List<T>convetor(Class<T> cla,ResultScanner resultScanner) throws Exception{ List<T> list = new ArrayList<T>();
for (Result
result :resultScanner) { Field []fileds=cla.getDeclaredFields();
T t = cla.newInstance();
for(Field
field:fileds){ field.setAccessible(true);
String fileName=field.getName();
if(result.containsColumn(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase()))){ if(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase())).length==0){ continue;
}
String value=Bytes.toString(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase()))); field.set(t, value);
}
}
list.add(t);
}
return list;
}
/**
* @Title: convetor
* @Description: 传入hbase返回结果值,返回实例
* @param
* @return
* @throws
*/
public static <T>
Tconvetor(Class<T> cla,Result result) throws Exception{ Field []fileds=cla.getDeclaredFields();
T t = cla.newInstance();
for(Field
field:fileds){ field.setAccessible(true);
String fileName=field.getName();
if(result.containsColumn(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase()))){ if(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase())).length==0){ continue;
}
String value=Bytes.toString(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase()))); field.set(t, value);
}
}
return t;
}
/**
* @Title: convetor
* @Description: 传入保存实例和主键ID,返回PutDelete
* @param
* @return
* @throws
*/
public static <T>
PutDeleteconvetor(T t,String id) throws Exception { Put put=new Put(Bytes.toBytes(id));
Delete delete=new Delete(Bytes.toBytes(id));
Field [] fileds=t.getClass().getDeclaredFields();
for(Field
field:fileds){ field.setAccessible(true);
StringfieldName=field.getName();
Object value =field.get(t);
if(null==value){
delete.deleteColumn(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fieldName.toUpperCase())); continue;
}
put.add(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fieldName.toUpperCase()), Bytes.toBytes((String)value)); }
PutDelete putdelete = new PutDelete();
putdelete.setPut(put);
putdelete.setDelete(delete);
return putdelete;
}
}
很多其它精彩内请注意内容:http://bbs.superwu.cn
遵循超人学院微通道的二维码:
|