1.springdata jpa原生sql操作

查询@Query: --nativeQuery = true 支持原生sql, false 则数据库名对应的是实体类名

@Query(value = "select pass_check_date from pos_tf_cash_reconc_main where shop_code=:shopCode", nativeQuery = true)

Date findLastPassCheckDate(@Param("shopCode") String shopCode);

增删改:@Modifying @Query

删除:

@Modifying

@Query(value = "delete from auth_tf_role_acn where acn_id = :id", nativeQuery = true)

void deleteRoles(@Param("id") String id);

更新 --返回更新成功数量:

@Modifying

@Query(value = "update sym_tf_role s set s.status = ?1 where s.id = ?2",nativeQuery = true)

int updateStatus(int status,String id);
@Table(indexes = {
        @Index(name = "crm_idx_code", columnList = "code", unique = true),
        @Index(name = "crm_idx_name", columnList = "name", unique = true)
})

 

 

注解大全:

1.@Basic

表示一个简单的属性到数据库表的字段的映射,对于没有任何标注的getXxxx()方法,默认 即为 @Basic

有两个属性值

fetch 懒加载方式 默认为及时加载 EAGER     LAZY懒加载   EAGER及时加载

optional 是否为空 默认为true

@Basic(fetch=LAZY,optional=true)

public String getAddress() { 
      return address; 
}
2.@Entity
指名这是一个实体Bean   注解在类上
@Entity(name="tableName")
name:可选,对应数据库中一个表,若表名与实体类名相同,则可以省略。

 

3.@Id  

标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 
@Id标注也可置于属性的getter方法之前。

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

@GeneratedValue(strategy=GenerationType.AUTO) 

@Id 

private Integer id;

5.@RestController

//  一般用于接口   或   前后端分离

(1).如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp,html页面,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是return 里的内容。

 

// 一般用于后台页面

(2).如果需要返回到指定页面,则需要用   @Controller  配合视图解析器   InternalResourceViewResolver   才行。

如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

 

6. BeanUtils.copyProperties

(1)package org.springframework.beans;中的

     BeanUtils.copyProperties(A,B);

     是A中的值付给B

(2)package org.apache.commons.beanutils;(常用)

      BeanUtils.copyProperties(A,B);

      是B中的值付给A