panda.dao.entity.annotation.Table Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of panda-core Show documentation
Show all versions of panda-core Show documentation
Panda Core is the core module of Panda Framework, it contains commonly used utility classes similar to apache-commons.
package panda.dao.entity.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 声明的一个 POJO 所对应的数据表名。
*
* 动态数据表名的支持
*
* 注解支持字符串模板的写法,在你希望放置动态表名变量的位置插入 ${变量名},比如:
*
*
* @Table("t_tab_${cid}")
* public class MyPojo{
* ...
*
*
* 那么 ${cid} 会在运行时被 Panda.Dao 替换。
*
*
动态表名的赋值规则
*
* - 当传入参数为数字或字符串
*
* - 所有的动态表名变量将被其替换
*
*
* - 当传入参数为 Map
*
* - 按照动态表明变量的名称在 Map 中查找值,并进行替换
* - 大小写敏感
* - 未找到的变量将被空串替换
*
*
* - 当传入参数为 任意Java对象(POJO)
*
* - 按照动态表明变量名称在对象中查找对应字段的值,并进行替换
* - 大小写敏感
* - 未找到的变量将被空串替换
*
*
* - 当传入参数为null
*
* - 所有变量将被空串替换
*
*
*
*
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
public @interface Table {
String value();
}