1.介绍

  spring data jpa是对hibernate的封装,适用场景没有复杂查询,不需要做查询优化,jpa自身已经实现简单crud

2.使用前提

   引入pom依赖

  <dependency>

    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>

3.做单表做简单crud

   1)定义实体

    

@Getter
@Setter
@Entity
@Table(name = "user_laud")//表名
public class UserLaud implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -812230085268168414L;

	@Id//主键
	@Column(name = "laud_id")//列名
	private Long laudId;

	/**
	 * 用户id
	 */
	@Column(name = "uid")
	private Long uid;

	/**
	 * 昵称
	 */
	@Column(name = "nick_name")
	private String nickName;

	/**
	 * 头像
	 */
	@Column(name = "head_portait")
	private String headPortrait;

	/**
	 * 收货点赞数量
	 */
	@Column(name = "laud_amount")
	private Integer laudAmount;

	/**
	 * 客资id
	 */
	@Column(name = "dream_id")
	private Long dreamId;

	/**
	 * 许愿目的地
	 */
	@Column(name = "destination")
	private String destination;

	/**
	 * 版本号
	 */
	@Column(name = "version")
	private Integer version;

}

  2)定义repository

     

public interface UserLaudRepository extends CrudRepository<UserLaud, Long> {
}

  注:jpa已经实现简单增删改查,只需要继承CrudRepository,这个类的第一个泛型表示实体,第二泛型参数表示主键类型

   3)定义sevice

        把UserLaudRepository 注入进来,调用基础增删改查方法了

4.CrudRepository方法简单介绍

  1)单个新增或修改方法,传了主键就是修改,不是则为新增;参数为上面的实体,返回值为查完数据查询出来这个数据的实体

            <S extends T> S save(S entity);

       2)批量新增或修改

            <S extends T> Iterable<S> saveAll(Iterable<S> entities)  

       3)根据主键查询数据

         Optional<T> findById(ID id)

  4)批量查询

         Iterable<T> findAllById(Iterable<ID> ids);

       5)根据主键删除

   void deleteById(ID id);

       6)删除所有数据

        void deleteAll()

         

 

posted on 2019-08-19 17:14  柳无情  阅读(167)  评论(0编辑  收藏  举报