Spring Data 开发手册|手摸手教你简化持久层开发工作
Spring Data,是为数据访问提供熟悉且一致的基于 Spring 的编程模型,同时仍然保留底层数据存储的特殊特性。
它是对于数据访问技术,关系数据库和非关系数据库,map-reduce 框架和基于云的数据服务变得容易。Spring Data 是一个总括项目,其中包含很多特定于数据库相关的子项目。

首先,先带大家看一下本篇文章的大致介绍。
没目录怎么知道这篇到底有多少干货呢?
Spring Data 是什么
Spring Data 能干什么
Spring Data 的第一个 HelloWorld 程序
通过名字来确定方法
通过注解的形式来实现查询
写本地的 SQL 查询
增删改的玩法
使用框架中提供的增删改查的方法
分页和排序
JpaRepository 的使用
是不是很清晰呢,现在开始进入正文,一个一个来:
Spring Data 是什么
我们传统的开发中,我们的整个 DAO 层的代码上都是相对来说,都是比较复杂的,在这种情况下,Spring 团队就考虑到一个问题,能不能开发一个框架,这个框架能够最大限度的减少 DAO 层的开发呢?
Spring Data 就是为了简化 DAO 层操作的一个框架
传统的增删改查在我们的 Spring Data 中已经实现了,也就是说大部分的 DAO 层操作部分不用写了,仅仅只是需要编写复杂的业务的调用就可以啦

写的这部分的代码,是需要写接口的声明就可以啦,不用写实现,这个实现是自动实现的
Spring Data 能干什么
主要用途:
传统的增删改查
排序
分页
排序后分页
即使你需要写 DAO,也只是写声明就可以啦,不用写实现
Spring Data 的第一个 HelloWorld 程序(JPA、Hibernate、Spring、SpringMVC、Spring Data)
导包

编写配置文件

编写实体类和映射

编写 Repository 类

测试

通过名字来确定方法
代码演示:
举例如下
:

注意:一般情况下不会通过名字直接来写相应的方法,因为如果条件过多那么这个时候我们就存在名字特别长的问题
通过注解的模式来实现查询
代码演示:
举例如下
:

写本地的 SQL 查询
代码演示:
举例如下
:

增删改的玩法
代码演示:
添加业务逻辑 增加事务环境
:

编写repository的对象
:

测试
:

使用框架中提供的增删改查的方法
代码演示:
提供的是Repository
:

分页和排序
代码演示:
提供的Repository
:

测试
:

JpaRepository 的使用
代码演示:
提供的repository
:

测试
:

结语
Spring Data 是我们开发中离不开的经常用到的技术,其涉及的技术和知识面其实远不止上面列出的这些。
后续浅羽会继续更新关于 Spring Data 的开发知识,只希望能对大家有所帮助,谢谢大家的支持!
写作秉持初心,致力于让每一位互联网人共同进步。

版权声明: 本文为 InfoQ 作者【浅羽技术】的原创文章。
原文链接:【http://xie.infoq.cn/article/a76e65d605b87451f74c6e4bb】。文章转载请联系作者。
评论