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

相关文章
相关标签/搜索