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”脚本插入数据时,是否需要更新该字段的值。insertableupdatable属性一般多用于只读的属性,例如主键和外键等。这些字段的值通常是自动生成的。

      (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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自2274851504.iteye.com/blog/2419515
今日推荐