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

简介: bboss持久层bean属性和表字段相关注解使用说明。 bboss持久层引入了三个注解:PrimaryKey、Column和IgnoreORMapping 本文介绍三个个注解的功能和使用方法。
bboss持久层bean属性和表字段相关注解使用说明。
bboss持久层引入了三个注解:PrimaryKey、Column和IgnoreORMapping
本文介绍三个个注解的功能和使用方法。
1.Column注解属性和功能介绍
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三个方向的转换方法:
   
  • column->field 查询时表字段值向对象field属性值的单向转换
  • column<-field insert,update,delete时对象field属性值向表字段值的单向转换
  • column<->field select insert,update,delete时对象field属性值与表字段值的双向转换

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) ;


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

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


4.注解使用方法示例
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; 

}



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

bboss声明式事务和注解事务参考以下文档的第82-86页:
bbossgroups 框架培训教程.ppt
目录
相关文章
|
Java 数据库 Spring
spring data jpa 框架在实体类中添加非数据库字段的属性
Spring-data-jpa表实体的字段和表的字段是一一对应的。比如,那么,如果我在查询时,想在表字段的基础上添加几个返回的字段,怎么办?
488 0
|
6月前
|
Java 数据库连接 开发者
Mybatis Plus公共字段自动填充(MyMetaObjectHandler)
Mybatis Plus公共字段自动填充(MyMetaObjectHandler)
512 0
|
4月前
|
Java 数据库连接 Maven
文本,使用SpringBoot工程创建一个Mybatis-plus项目,Mybatis-plus在编写数据层接口,用extends BaseMapper<User>继承实体类
文本,使用SpringBoot工程创建一个Mybatis-plus项目,Mybatis-plus在编写数据层接口,用extends BaseMapper<User>继承实体类
|
6月前
|
Java 数据库连接 网络安全
mybatis使用全注解的方式案例(包含一对多关系映射)
mybatis使用全注解的方式案例(包含一对多关系映射)
|
XML SQL Java
使用MyBatis时,解决表字段和实体类属性不一致问题
使用MyBatis时,解决表字段和实体类属性不一致问题
377 2
使用MyBatis时,解决表字段和实体类属性不一致问题
|
Java Nacos Spring
springboot 配置文件中的属性映射到实体类的属性中
springboot 配置文件中的属性映射到实体类的属性中
|
JSON 数据格式
swagger参数注解,后台使用@RequestBody注解的实体类,但只需要传实体类中的一个属性
这样写的结果会是下面这个样子,导致出现两个参数,一个实体类传参类型是json格式,一个是注解中写的属性。
|
Java 容器 Spring
Springboot2中新增的注解属性proxyBeanMethods
Springboot2中新增的注解属性proxyBeanMethods:代理bean的方法
382 0
|
Java 数据库连接 数据库
Mybatis Plus 公共字段自动填充功能
在我们的项目开发中,我们会发现有一些数据库表字段是每个表都有的,例如