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

遵循超人学院微通道的二维码:

时间: 2024-11-13 09:51:21

HBaseConvetorUtil 实体转换工具的相关文章

HBaseConvetorUtil 实体转换工具类

HBaseConvetorUtil 实体转换工具类 public class HBaseConvetorUtil { /** * @Title: convetor * @Description: 传入hbase返回结果值,返回实例集合 * @param * @return * @throws */ public static <T> List<T>convetor(Class<T> cla,ResultScanner resultScanner) throws Exce

java 实体对象与Map之间的转换工具类(自己还没看)

java实体对象与Map之间的转换工具类 import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class EntityUtils { /** * 实体类转Map * @param object * @return */ public static Map<String, Object> entityToMap(Object object) { Map<String,

在线数据库表(sql语句)生成java实体类工具

相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设计的一定是数据库表结构,而不是实体类.实体类仅仅是对底层数据结构的有损压缩,它仅仅是数据载体,不具备数据归档能力. 因此,很多时候,我们需要将原始的SQL建表语句转换成java实体类,这项工作看似简单,但若人工完成,工作量也是相当可观的,而且难免会出现差错. 到目前为止,笔者还没有发现比较靠谱的此类

ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】4.6

摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)[ECG]是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于OO.ADO.NET.分层架构.ORM及反射+工厂设计模式等.支持.Net1.1及以上版本,可用于Oracle.SqlServer.Sybase.DB2.MySQL.Access.SQLite.PostgreSQL.DM(达梦).PowerDesigner文件.Informix.Firebird.MaxDB.Exc

在线数据库表(sql语句)生成java实体类工具 - 参考手册

SQL建表语句 说明 格式良好的SQL建表语句,可以是直接从PowerDesigner.Navicat等工具中导出SQL建表语句.所谓格式良好,是指建表指令与表名必须在一行,字段名称.类型.注释必须在一行,因为这个工具是用正则实现的,并不是语法解析器,当然,以后有时间的话,会改进成解析器. 举例 -- ---------------------------- -- Table structure for t_activity -- ---------------------------- DRO

Java实体映射工具MapStruct的使用

官网地址:http://mapstruct.org/ MapStruct 是一个代码生成器,简化了不同的 Java Bean 之间映射的处理,所谓的映射指的就是从一个实体变化成一个实体.例如我们在实际开发中,DAO 层的实体(PO)和一些数据传输对象(DTO),大部分属性都是相同的,只有少部分的不同,通过 mapStruct,可以让不同实体之间的转换变的简单.我们只需要按照约定的方式进行配置即可. MapStruct 是一个可以处理注解的 Java 编译器插件,可以在命令行中使用,也可以在 ID

在线转换工具

在线XML.JSON数据互转 http://www.bejson.com/go.php?u=http://www.bejson.com/xml2json Base64在线编码解码 http://tool.chinaz.com/Tools/Base64.aspx http://www1.tc711.com/tool/BASE64.htm http://tools.jb51.net/tools/base64_decode-gb2312.php base64特别适合在http,mime协议下快速传输数

SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.4

最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微软 DTS 的,也有使用 mss2sql 工具进行转换的.使用 DTS 需要预先创建好数据表,否则新迁移的数据库是没有主键的.而 mss2sql 工具可以解决以上问题,但转换速度非常慢!我需要转换 3000 万的数据,在一台相当不错的服务器上面,也需要几天几夜才能转换完成.而 DB2DB 就是在这样

【分享】Android Studio专用文件转换工具:把ANSI文件批量另存为无BOM的UTF-8文件

[分享]Android Studio专用文件转换工具:把ANSI文件批量另存为无BOM的UTF-8文件 在Andoird Studio下编译java文件时,经常会出现像下面的错误: Error:(29, 43) 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗? 在这里,分享一个工具:ANSI文件批量另存为无BOM的UTF-8文件: 把下面代码用记事本存为AndroidStudioJava编码.vbs,双击即可使用: on error resume next Set WshShell=WScrip