spring-data-jpa

Posted xj-record

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-data-jpa相关的知识,希望对你有一定的参考价值。

Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 JPA 技术实现,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!spring data jpa 让我们解脱了 DAO 层的操作,基本上所有 CRUD 都可以依赖于它来实现

具体使用:(springboot)

1、配置pom文件

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

2、application.yml

spring:
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update

#create:每次加载Hibernate时都会删除上一次生成的表(包括数据),然后重新生成新表,即使两次没有任何修改也会这样执行。适用于每次执行单测前清空数据库的场景。

#create-drop:每次加载Hibernate时都会生成表,但当SessionFactory关闭时,所生成的表将自动删除。

#update:最常用的属性值,第一次加载Hibernate时创建数据表(前提是需要先有数据库),以后加载Hibernate时不会删除上一次生成的表,会根据实体更新,只新增字段,不会删除字段(即使实体中已经删除)。

#validate:每次加载Hibernate时都会验证数据表结构,只会和已经存在的数据表进行比较,根据model修改表结构,但不会创建新表。

3、Repository

respository创建:

  ①可以继承Repository类,该类只是一个借口类,并没有方法

  ②可以继承CrudRepository

  ③可以加成JpaRepository

  ④继承PagingAndSortingRepository,可以进行分页查询,只需要方法的最后一个参数位置假如Pageable即可

package com.nxz.testboot.jpa;


import com.nxz.testboot.domain.User;
import org.springframework.data.repository.PagingAndSortingRepository;

import java.util.List;

public interface UserRespository extends PagingAndSortingRepository<User, Long> {

    List<User> findUsersByUsernameNotNull();

}

4、Entity

package com.nxz.testboot.domain;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Data
@Entity(name = "user")
public class BscUser {

@Id
@GeneratedValue
private long id;
@Column(name = "username")
private String username;
@Column(name = "sex")
private String sex;
@Column(name = "age")
private long age;
@Column(name = "password")
private String password;

}

5、执行UserRespository 中的find方法  即可查到相关数据

 

源码解析:http://www.cnblogs.com/bodhitree/p/9468585.html

以上是关于spring-data-jpa的主要内容,如果未能解决你的问题,请参考以下文章

使用 spring-data-jpa 和 MockMvc 进行 spring boot junit 测试

Spring-Data-JPA 与 QueryDslPredicateExecutor 并加入集合

微服务 第六章 springboot 通过Spring-data-jpa 配置Oracle数据源(Spring-data-jpa详细介绍)

spring-data-jpa

spring-data-jpa+hibernate 各种缓存的配置演示

Spring-data-jpa 的@modifying注解