SpringBoot2--Spring Data JPA

前言

Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。

一、简介

1、SpringData特点

SpringData为我们提供使用统一的API来对数据访问层进行操作;这主要是Spring Data Commons项目来实现的。Spring Data Commons让我们在使用关系型或者非关系型数据访问技术时都基于Spring提供的统一标准,标准包含了CRUD(创建、获取、更新、删除)、查询、排序和分页的相关操作。
Spring Data 包含多个子项目:
– Spring Data Commons
– Spring Data JPA
– Spring Data KeyValue
– Spring Data LDAP
– Spring Data MongoDB
– Spring Data Gemfire
– Spring Data REST
– Spring Data Redis
– Spring Data for Apache Cassandra
– Spring Data for Apache Solr
– Spring Data Couchbase (community module)
– Spring Data Elasticsearch (community module)
– Spring Data Neo4j (community module)

2、统一的Repository接口

Repository:统一接口
RevisionRepository:基于乐观锁机制
CrudRepository:基本CRUD操作
PagingAndSortingRepository:基本CRUD及分页
SpringBoot2--Spring Data JPA_第1张图片

3、提供数据访问模板类 xxxTemplate; 如:MongoTemplate、RedisTemplate等
4、JPA与Spring Data

1)、JpaRepository基本功能编写接口继承JpaRepository既有crud及分页等基本功能
2)、定义符合规范的方法命名在接口中只需要声明符合规范的方法,即拥有对应的功能
SpringBoot2--Spring Data JPA_第2张图片
3)、@Query自定义查询,定制查询SQL
4)、Specifications查询(Spring Data JPA支持JPA2.0的Criteria查询)
SpringBoot2--Spring Data JPA_第3张图片

二、整合SpringData JPA

1、引入依赖
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
2、创建Bean和表

创建User类

package com.sxt.springboot.bean;

import javax.persistence.*;

public class User {
   
	private Integer id;
	private String lastName;
	private String

你可能感兴趣的:(Springboot)