zoukankan      html  css  js  c++  java
  • 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
    遵循超人学院微通道的二维码:
  • 相关阅读:
    [水煮 ASP.NET Web API2 方法论](3-6)万能路由
    [水煮 ASP.NET Web API2 方法论](3-5)路由约束
    [水煮 ASP.NET Web API2 方法论](3-4)设置路由可选项
    [水煮 ASP.NET Web API2 方法论](3-3)路由默认值
    [水煮 ASP.NET Web API2 方法论](3-2)直接式路由/属性路由
    [转载自简书] ASPNetCore上传大文件碰到的一些问题总结
    [转载] 关于web.config
    [转载] sessionState 4种mode模式
    [转载] web.config 配置详解
    文档注释标记
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4580444.html
Copyright © 2011-2022 走看看