• 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
    遵循超人学院微通道的二维码:
  • 相关阅读:
    Upgrading CentOS 6 to CentOS 7
    redis主从同步错误处理
    【linux】free命令中cached和buffers的区别
    服务器TIME_WAIT和CLOSE_WAIT区别及解决方案
    msyql 主从切换
    MySQL主从同步报错1507
    MYSQL SHOW 用法
    NGINX中的proxy_pass和rewrite
    Web服务器Nginx多方位优化策略
    operator重载运算符
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4580445.html
Copyright © 2020-2023  润新知