HBaseConvetorUtil 实体转换工具

HBaseConvetorUtil 实体转换工具

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

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 实体转换工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117846.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AWS(EC2)助我实现项目管理应用上云

    AWS(EC2)助我实现项目管理应用上云AWS(EC2)助我实现项目管理应用上云

    2022年7月20日
    16
  • 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

    漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)0x00前言本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用

    2022年10月17日
    2
  • Java中的锁

    Java中的锁在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。WARNING:本文适合有一定JAVA基础的同学阅读。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程…

    2022年7月18日
    13
  • Eclipse配置maven环境「建议收藏」

    1、首先下载maven,下载地址为:http://maven.apache.org/download.cgi,然后选择apache-maven-3.6.0-bin.tar.gz,如下图所示:2、然后新建一个maven目录,如下图所示:3、将下载的maven包解压到该目录中,如下图所示:4、配置环境变量,新建一个MAVEN_HOME,值为:D:\InstallFile\Mav…

    2022年4月10日
    52
  • 神经网络——最易懂最清晰的一篇文章「建议收藏」

    神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。  本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文。  神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技…

    2022年4月12日
    35
  • Python 函数 | map 函数详解

    Python 函数 | map 函数详解博友们 你们好 很高兴能在这里和大家分享技术文章 我是 AmoXiang 是一名在职企业员工 Amo 来源于上家公司的英文名 本意是爱 作为刚入行几年互联网行业的小白 博主写博客一方面是为了记录自己的学习过程以及所犯的错误 更多的是希望能够帮助到很多处于起步阶段的萌新 让他们少走弯路 在编写文章时 参考了大量书籍及一些互联网大佬的资源 并结合了自己的工作经验 博主本着科学 严谨的态度 力求精益求精 但疏漏之处在所难免 敬请广大博友批评指正 博客主页 https blog csdn net xw16

    2025年12月3日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号