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方法 即可查到相关数据
以上是关于spring-data-jpa的主要内容,如果未能解决你的问题,请参考以下文章
使用 spring-data-jpa 和 MockMvc 进行 spring boot junit 测试
Spring-Data-JPA 与 QueryDslPredicateExecutor 并加入集合
微服务 第六章 springboot 通过Spring-data-jpa 配置Oracle数据源(Spring-data-jpa详细介绍)