您的位置:首页 > 其它

HBaseConvetorUtil 实体转换工具

2015-06-16 12:39 302 查看
HBaseConvetorUtil 实体转换工具类
[align=left]public class HBaseConvetorUtil {[/align]
[align=left] /**[/align]
[align=left] * @Title: convetor[/align]
[align=left] * @Description: 传入hbase返回结果值,返回实例集合[/align]
[align=left] * @param[/align]
[align=left] * @return[/align]
[align=left] * @throws[/align]
[align=left] */[/align]
public static <T>
List<T>convetor(Class<T> cla,ResultScanner resultScanner) throws Exception{
[align=left] List<T> list = new ArrayList<T>();[/align]
for (Result
result :resultScanner) {
[align=left] Field []fileds=cla.getDeclaredFields();[/align]
[align=left] T t = cla.newInstance();[/align]
for(Field
field:fileds){
[align=left]field.setAccessible(true);[/align]
[align=left] String fileName=field.getName();[/align]
if(result.containsColumn(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase()))){
if(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase())).length==0){
[align=left] continue;[/align]
[align=left] }[/align]
String value=Bytes.toString(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase())));
[align=left] field.set(t, value);[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] list.add(t);[/align]
[align=left] }[/align]
[align=left] return list;[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * @Title: convetor[/align]
[align=left] * @Description: 传入hbase返回结果值,返回实例[/align]
[align=left] * @param[/align]
[align=left] * @return[/align]
[align=left] * @throws[/align]
[align=left] */[/align]
public static <T>
Tconvetor(Class<T> cla,Result result) throws Exception{
[align=left] Field []fileds=cla.getDeclaredFields();[/align]
[align=left] T t = cla.newInstance();[/align]
for(Field
field:fileds){
[align=left]field.setAccessible(true);[/align]
[align=left] String fileName=field.getName();[/align]
if(result.containsColumn(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase()))){
if(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase())).length==0){
[align=left] continue;[/align]
[align=left] }[/align]
String value=Bytes.toString(result.getValue(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fileName.toUpperCase())));
[align=left] field.set(t, value);[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] return t;[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * @Title: convetor[/align]
[align=left] * @Description: 传入保存实例和主键ID,返回PutDelete[/align]
[align=left] * @param[/align]
[align=left] * @return[/align]
[align=left] * @throws[/align]
[align=left] */[/align]
public static <T>
PutDeleteconvetor(T t,String id) throws Exception
{
[align=left] Put put=new Put(Bytes.toBytes(id));[/align]
[align=left] Delete delete=new Delete(Bytes.toBytes(id));[/align]
[align=left] Field [] fileds=t.getClass().getDeclaredFields();[/align]
for(Field
field:fileds){
[align=left] field.setAccessible(true);[/align]
[align=left] StringfieldName=field.getName();[/align]
[align=left] Object value =field.get(t);[/align]
[align=left] if(null==value){[/align]
delete.deleteColumn(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fieldName.toUpperCase()));
[align=left] continue;[/align]
[align=left] }[/align]
put.add(Bytes.toBytes("BASEINFO"),
Bytes.toBytes(fieldName.toUpperCase()), Bytes.toBytes((String)value));
[align=left] }[/align]
[align=left] PutDelete putdelete = new PutDelete();[/align]
[align=left] putdelete.setPut(put);[/align]
[align=left] putdelete.setDelete(delete);[/align]
[align=left] return putdelete;[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left]}[/align]

[align=left]很多其它精彩内请注意内容:http://bbs.superwu.cn[/align]
遵循超人学院微通道的二维码:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: