spring-data-jpa

Spring Data JPA 是 Spring 基於 ORM 框架、JPA 規範的基礎上封裝的一套 JPA 應用框架,底層使用了 Hibernate 的 JPA 技術實現,可以使開發者用極簡的代碼便可實現對數據的訪問和操做。它提供了包括增刪改查等在內的經常使用功能,且易於擴展!學習並使用 Spring Data JPA 能夠極大提升開發效率!spring data jpa 讓咱們解脫了 DAO 層的操做,基本上全部 CRUD 均可以依賴於它來實現html

具體使用:(springboot)java

一、配置pom文件spring

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

二、application.ymlsql

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

#create:每次加載Hibernate時都會刪除上一次生成的表(包括數據),而後從新生成新表,即便兩次沒有任何修改也會這樣執行。適用於每次執行單測前清空數據庫的場景。數據庫

#create-drop:每次加載Hibernate時都會生成表,但當SessionFactory關閉時,所生成的表將自動刪除。springboot

#update:最經常使用的屬性值,第一次加載Hibernate時建立數據表(前提是須要先有數據庫),之後加載Hibernate時不會刪除上一次生成的表,會根據實體更新,只新增字段,不會刪除字段(即便實體中已經刪除)。app

#validate:每次加載Hibernate時都會驗證數據表結構,只會和已經存在的數據表進行比較,根據model修改表結構,但不會建立新表。框架

三、Repositorydom

respository建立:spring-boot

  ①能夠繼承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();

}

四、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;

}

五、執行UserRespository 中的find方法  便可查到相關數據

 

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

相關文章
相關標籤/搜索