• HBaseConvetorUtil 实体转换工具


    HBaseConvetorUtil 实体转换工具类
    public class HBaseConvetorUtil {
           /**
       * @Titleconvetor
       * @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;
       }
       
       /**
       * @Titleconvetor
       * @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;
       }
       
       /**
       * @Titleconvetor
       * @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
    遵循超人学院微通道的二维码:
  • 相关阅读:
    用NHibernate创建数据库时出现的问题
    Conceptual Overview (.NET 5概念描述)
    网页前端开发,对于图片慢加载简介
    opencv实现人脸识别(五) 运用tkinter进行GUI绘制 整合人脸识别模块
    opencv实现人脸识别(四) 人脸识别模块
    opencv实现人脸识别(三) 训练图片模块
    opencv实现人脸识别(二) 人脸图像采集模块
    opencv实现人脸识别(一)opencv的相关知识了解
    python实现文件搜索工具(简易版)
    expect实现非交互
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4580444.html
Copyright © 2020-2023  润新知