目录
- 目录
- 本节内容
-
注解定义
- @Entity
- @Column
- @Id
- @GenerateValue
-
常量定义
- 目录导航
本节内容
进行 Hibernate 的注解定义,常量定义
注解定义
直接模拟 Hibernate 定义几个最常见的注解。
@Entity
package ;
import ;
import ;
import ;
import ;
import ;
/**
* 实体-注解
* Created by houbinbin on 16/6/5.
*/
@Retention()
@Target()
@Documented
public @interface Entity {
/**
* 表名称
* @return 表名称
*/
String value() default "";
}
@Column
package ;
import ;
import ;
import ;
import ;
import ;
/**
* 列-注解
* Created by houbinbin on 16/6/5.
*/
@Retention()
@Target()
@Documented
public @interface Column {
/**
* 列名
* @return 列名
*/
String value() default "";
/**
* 是否可以为空
* @return {@code true} 可以
*/
boolean nullable() default true;
/**
* 字段的长度
* @return 字段的长度
*/
int length() default 255;
}
@Id
package ;
import ;
import ;
import ;
import ;
import ;
/**
* 主键标识
* Created by houbinbin on 16/6/5.
*/
@Retention()
@Target({})
@Documented
public @interface Id {
}
@GenerateValue
package ;
import ;
import ;
import ;
import ;
import ;
/**
* 自增长的值-注解
* Created by houbinbin on 16/6/5.
*/
@Retention()
@Target()
@Documented
public @interface GenerateValue {
}
常量定义
用于后面编程开发提供便利,全局定义,便于统一修改维护。
用于实体列生成
package ;
/**
*
* hibernate 常量
* @author houbinbin
* @date 16/6/5
*/
public class HibernateConstant {
/**
* 默认的字符串大小 {@value}
*/
public static final int DEFAULT_STRING_SIZE = 255;
}
用于 bean 和数据库列字段类型映射
package ;
import ;
import ;
/**
* 存放类型 map
* Created by houbinbin on 16/6/5.
* @author houbinbin
*/
public class TypeMap {
private static final Map<String, String> TYPE_MAP = new HashMap<>();
static {
TYPE_MAP.put("", "VARCHAR");
TYPE_MAP.put("char", "CHAR");
TYPE_MAP.put("", "CHAR");
TYPE_MAP.put("boolean", "BIT");
TYPE_MAP.put("", "BIT");
TYPE_MAP.put("byte", "TINYINT");
TYPE_MAP.put("short", "SMALLINT");
TYPE_MAP.put("", "SMALLINT");
TYPE_MAP.put("int", "INTEGER");
TYPE_MAP.put("", "INTEGER");
TYPE_MAP.put("long", "BIGINT");
TYPE_MAP.put("", "BIGINT");
TYPE_MAP.put("float", "FLOAT");
TYPE_MAP.put("", "FLOAT");
TYPE_MAP.put("double", "DOUBLE");
TYPE_MAP.put("", "DOUBLE");
TYPE_MAP.put("", "DATETIME");
}
/**
* 获取 map 列表
* @return map
*/
public static Map<String, String> getTypeMap() {
return TYPE_MAP;
}
}
目录导航
目录导航