转载

Spring Boot 2.x(三):整合Spring Data JPA

为什么是JPA

JPA虽然小众,但是足够优雅╮(╯_╰)╭,由于微服务的兴起,服务粒度的细化,多表联合的场景逐渐减少,更多的是一些简单的单表查询,而这正是JPA的强项所在。所以,以后的实战项目中我也会用JPA来操作数据库,当然 Mybatis 也会在后面的教程中来集成,毕竟主流┑( ̄Д  ̄)┍。

不多扯淡,下面进入主题。

第一步:添加依赖

首先,我们要做的是新建一个项目,如果有不会的同学可以去看第一篇[HelloWorld

]( https://blog.csdn.net/vi_youn... ,然后,我们在 pom.xml 中添加以下依赖:

Spring Boot 2.x(三):整合Spring Data JPA

这里我们添加的就是被红框圈住的两个依赖,然后还有一个简化开发的 lombok 依赖,如果在idea环境下,需要去下载一个 lombok 插件,打开设置面板之后,按照下图进行操作后重启idea即可。

Spring Boot 2.x(三):整合Spring Data JPA

Spring Boot 2.x(三):整合Spring Data JPA

第二步:配置文件

找到你的 application.properties 文件,进行配置:

Spring Boot 2.x(三):整合Spring Data JPA

一些参数的意义,我在注释中已经写得很明确了,这里就不再多说。

第三步:添加实体类

Spring Boot 2.x(三):整合Spring Data JPA

这是我们的一个简单的用户实体类, @Entity 注解用于生成数据库表, @Table 用于指定表的名称, @SequenceGenerator 是生产主键的索引表( seq_user )的规则, @GeneratedValue 用于

根据规则生成主键, @Id 表示这是一个主键。

第四步:编写简单的测试程序

Repository:

Spring Boot 2.x(三):整合Spring Data JPA

对,你没看错,这就是我的操作数据库的接口,可是为什么啥都没有呢 ,莫慌,我们来看一下继承的这个接口都给我们提供了哪些方法:

Spring Boot 2.x(三):整合Spring Data JPA

可以看到,提供了大部分我们会用到的方法,那么如果这些方法中没有我们想要的,我们需要自己编写该怎么办呢?下面的这个表中的语法基本上都可以帮助我们去做到:

Spring Boot 2.x(三):整合Spring Data JPA

Spring Boot 2.x(三):整合Spring Data JPA

如果这样还没法满足我们的需求,我们还可以自己去编写类似于 HQL 的语句去查询:

Spring Boot 2.x(三):整合Spring Data JPA

有关 HQL 的语法,我们会在后面开单章单独讲解ψ(`∇´)ψ。

Service:

Spring Boot 2.x(三):整合Spring Data JPA

接口类不再贴出,占用篇幅。。

Controller:

Spring Boot 2.x(三):整合Spring Data JPA

运行程序后,可以看到已经给我们创建了用户表以及用户索引表。

Spring Boot 2.x(三):整合Spring Data JPA

访问地址,可以看到:

Spring Boot 2.x(三):整合Spring Data JPA

一切正如我们所料(づ。◕‿‿◕。)づ

第五步:添加分页功能

有细心的同学可能注意到了,我继承的这个接口可以实现自定义排序以及分页的功能,那么我们该怎么去使用呢?

Spring Boot 2.x(三):整合Spring Data JPA

一行代码解决分页~(在实战中我们可能不会这样去用,这里只是做为一个功能的展示证明JPA有多么的强大)

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

源码可以去 github 或者 码云 上进行下载,后续的例子都会同步更新。

云撸猫

Spring Boot 2.x(三):整合Spring Data JPA

公众号

Spring Boot 2.x(三):整合Spring Data JPA

原文  https://segmentfault.com/a/1190000019877412
正文到此结束
Loading...