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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」

    java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」在JDK版本为1.8的情况运行下面的代码,会发现很神奇的情况(见运行结果)。看如下代码:packagecom.longge.mytest;importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.text.DecimalFormat;importorg.junit.Test;publicclassTestDecimal…

    2022年5月11日
    47
  • Linux gzip 压缩/解压 详解[通俗易懂]

    gzip是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件,这里简单介绍下它最常见的用法,GZIP(1)GeneralCommandsManualGZIP(1)NAMEgzip,gunzip,zcat-compressorexpandfilesSYNOPSISgzip[-acdfhklLnNrtvV19][–rsyncable][-Ssuffix][name…]gunzip[-acfh…

    2022年4月4日
    67
  • 高斯分布例题_高斯定理求半球面球心电场

    高斯分布例题_高斯定理求半球面球心电场给定心形曲线(x2+y2−1)3=x2y3(x^2+y^2-1)^3=x^2y^3,给定任意一点的坐标(X,Y)(X,Y)其中X~N(X,σx)X~N(X,\sigma_x),Y~N(Y,σy)Y~N(Y,\sigma_y)求点(X,Y)(X,Y)落入心形曲线内的概率。思路:以(X,Y)(X,Y)为中心,画出3∗σ3*\sigma半径的椭圆,求和心形曲线相交的体积。注意:心形曲线方程可化为x

    2022年10月16日
    2
  • es6模板字符串里用html标签,为ES6模板字符串计算标签函数[通俗易懂]

    es6模板字符串里用html标签,为ES6模板字符串计算标签函数[通俗易懂]Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。这篇博客描述了你可以通过函数为ES6模板字符串做些什么从而获取返回值。对于一篇针对模板字符串的介绍来说,标记的模板字符串和函数需要在《探索ES6》中查询模板字符串章节1.通过模板字符串获取返回值在JavaScript中获取一个值最普遍的方法就是在括号中加上参数。在ES6中,你可以通过模板字符串更多地获取返回…

    2022年8月21日
    10
  • break,continue,return的用法_break continue语句

    break,continue,return的用法_break continue语句1.break:直接结束一个循环,跳出循环体。break以后的循环体中的语句不会继续执行,循环体外面的会执行privatevoidtest(){for(inti=0;i&amp;lt;3;i++){Log.e(TAG,&quot;i=&quot;+i);if(i==1){brea…

    2022年9月12日
    3
  • SpringBoot自动装配原理「建议收藏」

    SpringBoot自动装配原理「建议收藏」SpringBoot项目无需各种配置文件,一个main方法,就能把项目启动起来。那么我们看看SpringBoot是如何进行自动配置和启动的。SpringBoot通过main方法启动SpringApplication类的静态方法run()来启动项目。根据注释的意思,run方法从一个使用了默认配置的指定资源启动一个SpringApplication并返回ApplicationContext对象,这个默认配置如何指定呢?这个默认配置来源于@SpringBootApplication注解,这个注解是个复

    2022年8月20日
    4

发表回复

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

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