HBaseConvetorUtil 实体转换工具

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
遵循超人学院微通道的二维码: HBaseConvetorUtil 实体转换工具

你可能感兴趣的:(hbase)