bboss持久层bean属性和表字段相关注解使用说明

bboss持久层bean属性和表字段相关注解使用说明。
bboss持久层引入了三个注解:PrimaryKey、Column和IgnoreORMapping
本文介绍三个个注解的功能和使用方法。
[size=large][b]1.Column注解属性和功能介绍[/b][/size]
Column用来实现bean属性与表字段名称、字段类型映射功能
Column注解可以指定以下属性:
name 表字段名称
type 表字段类型
dataformat 数据日期类型格式
ignorebind 忽略对象属性insert,update,delete,select四种DB操作的对象属性与表字段的 o/r mapping绑定操作,相当于@IgnoreORMapping和@Column(ignoreCUDbind=true)组合使用
ignoreCUDbind 忽略对象属性insert,update,delete三种DB操作的对象属性与表字段的 o/r mapping绑定操作
editorparams 指定editor插件对应的参数值,可以自己任意组合参数串,由插件自行解析
editor 在o/r mapping操作时,自定义属性值和字段值的转换插件,分为column->field和field->column,column<->field三个方向的转换方法:
[list]
[*]column->field 查询时表字段值向对象field属性值的单向转换
[*]column<-field insert,update,delete时对象field属性值向表字段值的单向转换
[*]column<->field select insert,update,delete时对象field属性值与表字段值的双向转换
[/list]
column<->field双向转换时,editor插件必须实现com.frameworkset.util.ColumnEditorInf接口:
package com.frameworkset.util;

import org.frameworkset.util.annotations.wraper.ColumnWraper;

public interface ColumnEditorInf {
/**
* 查询时,表字段值转换为对象属性值,Gets the property value.将值转换为属性对应类型的值
* @param fromValue
* @return The value of the property. Primitive types such as "int" will
* be wrapped as the corresponding object type such as "java.lang.Integer".
*/
Object getValueFromObject(ColumnWraper columnWraper,Object fromValue) ;
/**
* 查询时,表字段值转换为对象属性值,Gets the property value.将值转换为属性对应类型的值
* @param fromValue
* @return The value of the property. Primitive types such as "int" will
* be wrapped as the corresponding object type such as "java.lang.Integer".
*/
Object getValueFromString(ColumnWraper columnWraper,String fromValue);
/**
* insert,update,delete时值转换方法,对象属性值转换为表字段值
* @param columnWraper
* @param fromValue
* @return
*/
Object toColumnValue(ColumnWraper columnWraper,Object fromValue);
/**
* insert,update,delete时值转换方法,对象属性值转换为表字段值
* @param columnWraper
* @param fromValue
* @return
*/
Object toColumnValue(ColumnWraper columnWraper,String fromValue);

}


column<-field insert,update,delete时对象field属性值向表字段值的单向转换,editor插件只需继承抽象类com.frameworkset.util.FieldToColumnEditor,实现两个抽象方法即可:
@Override
public abstract Object toColumnValue(ColumnWraper columnWraper, Object fromValue) ;

@Override
public abstract Object toColumnValue(ColumnWraper columnWraper, String fromValue) ;


column->field 查询时表字段值向对象field属性值的单向转换,editor插件只需继承抽象类com.frameworkset.util.ColumnToFieldEditor,实现两个抽象方法即可:
@Override
public abstract Object getValueFromObject(ColumnWraper columnWraper, Object fromValue) ;

@Override
public abstract Object getValueFromString(ColumnWraper columnWraper, String fromValue) ;


[size=large][b]2.@IgnoreORMapping注解功能介绍[/b][/size]
IgnoreORMapping注解没有属性,忽略DB查询操作时对象属性与表字段的o/r mapping映射操作

[size=large][b]3.PrimaryKey注解属性和功能介绍[/b][/size]
PrimaryKey用来实现自动设置主键值和bean属性与表字段名称、字段类型映射功能
Column注解可以指定以下属性:
name 表字段名称
type 表字段类型


[size=large][b]4.注解使用方法示例[/b][/size]
PrimaryKey和Column的作用域都是bean的字段属性,使用方法非常简单:
public class ParentListBean
{
@PrimaryKey
private String id ;
。。。。。。
}


public class ParentListBean
{
@Column(type="blob")//指示属性的值按blob类型写入或者读取
private String blobname;
@Column(type="clob")//指示属性的值按clob类型写入或者读取
private String clobname;

@Column(name="name_")//指示属性名称与表字段名称映射关系,name属性对应于表中的name_字段
private String name;
@Column(dataformat="yyyy-mm-dd")//指示日期类型属性值的存储和读取转换日期格式
private String regdate;
@IgnoreORMapping //忽略DB查询操作时对象属性与表字段的o/r mapping映射操作,只正对增删,改三种操作进行绑定
private String aa;

@Column(ignorebind=true)// 忽略insert,update,delete,select四种DB操作对象属性与表字段的 o/r mapping绑定操作,相当于@IgnoreORMapping和@Column(ignoreCUDbind=true)组合使用

private String bb;

@Column(ignoreCUDbind =true)// 忽略对象属性insert,update,delete三种DB操作的对象属性与表字段的 o/r mapping绑定操作,只针对查询操作进行绑定

private String cc;


@Column(editorparams="yyyy-MM-dd HH:mm:ss",
editor="com.frameworkset.platform.util.DateformatEditor",
ignoreCUDbind=true)//指定查询时表字段值与对象属性值的转换插件,同时忽略对象属性insert,update,delete三种DB操作的对象属性与表字段的 o/r mapping绑定操作,通过editordataformat属性指定了插件需要的日期格式
private String dd;

@Column(editordataformat="yyyy-MM-dd HH:mm:ss",
editor="com.frameworkset.platform.util.CommonDateformatEditor",
)//指定insert,update,delete,select四种DB操作对象属性与表字段的 o/r mapping绑定转换插件,通过editordataformat属性指定了插件需要的日期格式
private String ee;

}



[size=large][b]5.相关内容[/b][/size]
关于bboss persistent主键生成机制的说明,请参考文档:
[url]http://yin-bp.iteye.com/blog/407254[/url]

bboss声明式事务和注解事务参考以下文档的第82-86页:
[url=https://github.com/bbossgroups/bboss-document/blob/master/%E6%96%87%E6%A1%A3/bbossgroups%20%E6%A1%86%E6%9E%B6%E5%9F%B9%E8%AE%AD%E6%95%99%E7%A8%8B.ppt?raw=true]bbossgroups 框架培训教程.ppt[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值