码迷,mamicode.com
首页 > 其他好文 > 详细

HBaseConvetorUtil 实体转换工具类

时间:2015-06-12 19:34:24      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

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

关注超人学院微信二维码:技术分享

HBaseConvetorUtil 实体转换工具类

标签:

原文地址:http://my.oschina.net/crxy/blog/466123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!