各种注解的使用

来源:互联网 发布:李俊峰的霍去病 知乎 编辑:程序博客网 时间:2024/06/06 00:22

各种注解的使用

1.@Temporal

javax.persistence.Temporal

1) DATE :等于java.sql.Date

1.日期:

@Temporal(TemporalType.DATE)

在页面端取值:2011-07-05

2.时间:

@Temporal(TemporalType.TIME)

在页面端取值:22:50:30

3.日期和时间(默认)

@Temporal(TemporalType.TIMESTAMP)

在jsp里控制不显示毫秒:

 <td align="center">&nbsp;<fmt:formatDate value="${list[0].createTime}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate></td>


2.mybatis做持久层框架时,数据库的主键生成策略

@Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 
@Id标注也可置于属性的getter方法之前。
@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。 
在javax.persistence.GenerationType中定义了以下几种可供选择的策略: 
–IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; 
–AUTO: JPA自动选择合适的策略,是默认选项; 
–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 
–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

@Id: 

@GeneratedValue: 

@Id

@SequenceGenerator(name="名称A", sequenceName="库中已存在的sequence名称",allocationSize=递增值)


@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="名称A")

例子:@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "select SEQ_QUALITY_DRL_ID.nextval from dual")

原创粉丝点击