springData Jpa

1.注解
(1) @Data : 在bean上使用 @Data 可省略get 和 set 方法
(2) @Entity : 表示一个实体类
(3) @Table : bean 类上使用 @Table (name=”tableName”) name 里是数据库表名
(4) @Id @GeneratedValue :主键字段上使用 表示主键
(5) @JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone=”GMT+8”) 时间字段设置时间格式

(6) @Temporal :Date类型的属性,数据库中存储可能是’yyyy-MM-dd hh:MM:ss’要在查询时获得年月 日,在该属性上标注@Temporal(TemporalType.DATE) 会得到形如’yyyy-MM-dd’ 格式的日期, @Temporal(TemporalType.TIME) 会得到形如’HH:MM:SS’ 格式的日期,@Temporal(TemporalType.TIMESTAMP) 会得到形如’yyyy-MM-dd hh:MM:ss’ 格式的日期

(7) @Column(name=”zd”,nullable=false,length=512): 指定字段“zd的长度512”,并且值不能为null
@Column(name=”zd”,precision=12, scale=2) 类型为double型,精度为12位,小数点位数为2位。
@Column(name=” zd”,columnDefinition=”clob not null”) 自定义生成CLOB类型字段的SQL语句 相当于contact_name clob (200) not null
@Column(updatable=false) 使用“UPDATE”脚本插入数据时,不需要更新该字段的值
@Column(insertable=false) 在使用“INSERT”脚本插入数据时,是否需要插入该字段的值。
(7-1) unique属性表示该字段是否为唯一标识,默认为false。如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table标记中的@UniqueConstraint。
(7-2) nullable属性表示该字段是否可以为null值,默认为true。
(7-3) insertable属性表示在使用“INSERT”脚本插入数据时,是否需要插入该字段的值。
(7-4) updatable属性表示在使用“UPDATE”脚本插入数据时,是否需要更新该字段的值。insertable和updatable属性一般多用于只读的属性,例如主键和外键等。这些字段的值通常是自动生成的。
(7-5) columnDefinition属性表示创建表时,该字段创建的SQL语句,一般用于通过Entity生成表定义时使用。
(7-6) table属性表示当映射多个表时,指定表的表中的字段。默认值为主表的表名。
(7-7) length属性表示字段的长度,当字段的类型为varchar时,该属性才有效,默认为255个字符。
(7-8) precision属性和scale属性表示精度,当字段类型为double时,precision表示数值的总长度,scale表示小数点所占的位数。
(8) @Query(value=”hql”) hql 中 表明是对应的实体类名(即用实体类名代替表名 如 select o from 实体类名 o where zd =?1 (两处的o要一致)) 2.索引值从1开始,查询中’?x’的个数要和方法的参数个数一致,且顺序也要一致
@Query(value=”select count(1) from 表名”,nativeQuery=true) :nativeQuery=true 表示hql中使用的是数据库表名查询
(9) @Param : 如果在@Query 使用:cs的形式则在方法的需要用@Param 接收参数,如@Query(value=” SELECT b FROM OutLink b where URL like %:url%”) 则接口的方法要这样写:void findByUrl(@Param(value = “url”) String url);
(10)@Modifying 在更新或删除时 在@Query 上加上该注解
(11) @Transactional 事物管理 在更新或删除时 必须在servide层的实现类相应的方法上加上该注解,否则会报错
(12)@RestController:相当于@ResponseBody + @Controller , 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行,如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。 @RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面 这是springMvc的知识

比较详细的lianjie:http://www.360doc.com/content/15/0924/12/834950_501215239.shtml

你可能感兴趣的:(#,spring,data,jpa)