simplehbase对JOPO新增xml配置和无配置方式

本文介绍了simplehbase的三种配置方式:注解方式、XML配置方式及无配置方式,并详细解释了每种方式的特点和使用场景,同时给出了配置示例。
simplehbase介绍文章如下:
[url]https://github.com/zhang-xzhi/simplehbase/wiki/C00-simplehbase-3%E5%88%86%E9%92%9F%E7%AE%80%E4%BB%8B[/url]

github
[url]https://github.com/zhang-xzhi/simplehbase/[/url]
[url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]


Data Object需要被simpleHbase识别,目前有3种方式来配置JOPO方式。

simplehbase在v0.9(包含v0.9)之前对于POJO的配置,只支持annotation的形式。



## annotation的方式

HBaseTable标记DO类型。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface HBaseTable {

/**
* Default family name.
*
* @return default family.
*/
public String defaultFamily() default "";
}

HBaseColumn标记DO类型中的属性。

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface HBaseColumn {

/**
* Family name.
*
* @return family.
*/
public String family() default "";

/**
* Qualifier name.
*
* @return qualifier.
*/
public String qualifier();
}



## xml配置方式

xml配置方式如下:在ConfigResource增加如下xml配置。


<MappingType className="com.alipay.simplehbase.myrecord.MyRecordV3" defaultFamily="MyRecordFamily">
<field name="id" qualifier="id" family="MyRecordFamily"
isVersioned="false" />
<field name="name" qualifier="name" />
<field name="age" />
<field name="date" />
<field name="gender" />
</MappingType>

其中

MappingType中
className必填,对应JOPO的classname。
defaultFamily选填。

field中
name必填,对应于JOPO的field name。
qualifier选填,无值时,qualifier为name。
family选填,无值时,使用defaultFamily,defaultFamily为空时,使用qualifier查找对应的family,需要在配置的HTable中,该列名只能在唯一的列簇下。
isVersioned选填,true时表示isVersioned,其他情况为false。


## 无配置方式

有如下2个注意点。

* JOPO中的static field不解析为htable对应的列信息。
* 对于每一个field,对应HTable的列名,在配置的HTable中,该列名只能在唯一的列簇下。


## 3种解析方式的优先级
* 1 xml config方式。
* 2 annotation方式。
* 3 无配置方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值