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
遵循超人学院微通道的二维码:
|