All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gitee.sunchenbin.mybatis.actable.annotation.Table Maven / Gradle / Ivy

package com.gitee.sunchenbin.mybatis.actable.annotation;

import com.gitee.sunchenbin.mybatis.actable.constants.MySqlCharsetConstant;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlEngineConstant;

import java.lang.annotation.*;



/**
 * 创建表时的表名
 *
 * @author sunchenbin
 * @version 2016年6月23日 下午6:13:37
 */
//表示注解加在接口、类、枚举等
@Target(ElementType.TYPE)
//VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息
@Retention(RetentionPolicy.RUNTIME)
//将此注解包含在javadoc中
@Documented
public @interface Table {

	/**
	 * 表名
	 * @return 表名
	 */
	String name() default "";

	/**
	 * 表名
	 * @return 表名
	 */
	String value() default "";

	/**
	 * 表注释,也可以使用@TableComment注解代替
	 * @return
	 */
	String comment() default "";

	/**
	 * 表字符集,也可以使用@TableCharset注解代替
	 * 仅支持com.gitee.sunchenbin.mybatis.actable.constants.MySqlCharsetConstant中的枚举字符集
	 * @return
	 */
	MySqlCharsetConstant charset() default MySqlCharsetConstant.DEFAULT;

	/**
	 * 表引擎,也可以使用@TableEngine注解代替
	 * 仅支持com.gitee.sunchenbin.mybatis.actable.constants.MySqlEngineConstant中的存储引擎枚举
	 * @return
	 */
	MySqlEngineConstant engine() default MySqlEngineConstant.DEFAULT;

	/**
	 * 是否开启simple模式配置,默认不开启,开启后Field不写注解@Column也可以采用默认的驼峰转换法创建字段
	 * @return
	 */
	boolean isSimple() default false;

	/**
	 * 需要排除的属性名,排除掉的属性不参与建表
	 * @return
	 */
	String[] excludeFields() default {"serialVersionUID"};
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy