什么是 Spring Data
Spring Data 是 Spring Boot 底层默认进行数据访问的技术 , 为了简化构建基于 Spring 框架应用的数据访问技术,包
括非关系数据库、Map-Reduce 框架、云数据服务等;另外也包含对关系数据库的访问支持。
Spring Data 包含多个模块:
- Spring Data Commons 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化
- Spring Data JPA
- Spring Data KeyValue
- Spring Data LDAP
- Spring Data MongoDB
- Spring Data Redis
- Spring Data REST
- Spring Data for Apache Cassandra
- Spring Data for Apache Geode
- Spring Data for Apache Solr
- Spring Data for Pivotal GemFire
- Spring Data Couchbase (community module)
- Spring Data Elasticsearch (community module)
- Spring Data Neo4j (community module)
Spring Data统一的核心接口
Spring Data项目为大家提供统一的API来对不同的数据访问层进行操作。
- Repository
:统一的根接口即所有接口的父接口,其他接口继承该接口 - CrudRepository
:基本的增删改查接口,提供了最基本的对实体类CRUD操作 - PagingAndSortingRepository
:增加了分页和排序操作 - JpaRepository
:增加了批量操作,并重写了父接口一些方法的返回类型
Spring Data JPA、JPA与Hibernate 关系
JPA是一种规范,而Hibernate是实现这种规范的底层实现,SpringData JPA对持久化接口JPA再抽象一层,针对持久化业务再进一步统一简化。
SpringData JPA的简单使用
JPA的底层遵守是ORM(对象关系映射)规范,因此JPA其实也就是java实体对象和关系型数据库建立起映射关系,通过
面向对象编程的思想操作关系型数据库的规范。
首先,导包
1 | <?xml version="1.0" encoding="UTF-8"?> |
其次,创建映射bean类
1 | package com.haichenyi.springbootjpa.entity; |
需要注意的是,这里需要写set/get方法,不然,数据存不进去。这里我用了 @Data 注解,所以,就不需要写了。注释写的很清楚了,就不一一解释了。
接着,写Repository
1 | package com.haichenyi.springbootjpa.repository; |
再然后,就是Controller,跟之前写的一样
1 | package com.haichenyi.springbootjpa.controller; |
最后,就只配置了
1 | spring: |
这样写完就行了。就这四步:
- 映射表
- Repository接口
- Controller
- 配置文件