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
关注超人学院微信二维码:
|
原文地址:http://blog.csdn.net/crxy2014/article/details/46473109