大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

SpringBoot2.x怎么整合SpringDataJPA

这篇文章给大家介绍Spring Boot 2.x怎么整合Spring Data JPA,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联建站致力于互联网网站建设与网站营销,提供成都网站制作、成都网站设计、网站开发、seo优化、网站排名、互联网营销、微信平台小程序开发、公众号商城、等建站开发,创新互联建站网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

为什么是JPA

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

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

第一步:添加依赖

首先,我们要做的是新建一个项目,如果有不会的同学可以去看第一篇HelloWorld ,然后,我们在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有多么的强大)

关于Spring Boot 2.x怎么整合Spring Data JPA就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章名称:SpringBoot2.x怎么整合SpringDataJPA
URL地址:http://dzwzjz.com/article/jcgijs.html
在线咨询
服务热线
服务热线:028-86922220
TOP