2

为什么是JPA

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

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

第一步:添加依赖

首先,我们要做的是新建一个项目,如果有不会的同学可以去看第一篇[HelloWorld
](https://blog.csdn.net/vi_youn...,然后,我们在pom.xml中添加以下依赖:

clipboard.png

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

clipboard.png

clipboard.png

第二步:配置文件

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

clipboard.png

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

第三步:添加实体类

clipboard.png

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

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

Repository:

clipboard.png

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

clipboard.png

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

clipboard.png

clipboard.png

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

clipboard.png

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

Service:

clipboard.png

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

Controller:

clipboard.png

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

clipboard.png

访问地址,可以看到:

clipboard.png

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

第五步:添加分页功能

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

clipboard.png

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

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


公众号

clipboard.png

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

山禾说
134 声望24 粉丝

热爱原创,热爱技术