JPA
虽然小众,但是足够优雅╮(╯_╰)╭,由于微服务的兴起,服务粒度的细化,多表联合的场景逐渐减少,更多的是一些简单的单表查询,而这正是 JPA
的强项所在。所以,以后的实战项目中我也会用 JPA
来作为操作数据库的工具,当然 Mybatis
也会在后面的教程中来集成,毕竟主流┑( ̄Д  ̄)┍。
不多扯淡,下面进入主题。
首先,我们要做的是新建一个项目,如果有不会的同学可以去看第一篇HelloWorld,然后,我们在 pom.xml
中添加以下依赖:
这里我们添加的就是被红框圈住的两个依赖,然后还有一个简化开发的 lombok
依赖,如果在idea环境下,需要去下载一个 lombok
插件,打开设置面板之后,按照下图进行操作后重启idea即可。
找到你的 application.properties
文件,进行配置:
一些参数的意义,我在注释中已经写得很明确了,这里就不再多说。
这是我们的一个简单的用户实体类, @Entity
注解用于生成数据库表, @Table
用于指定表的名称, @SequenceGenerator
是生产主键的索引表( seq_user
)的规则, @GeneratedValue
用于
@Id
表示这是一个主键。
对,你没看错,这就是我的操作数据库的接口,可是为什么啥都没有呢 ,莫慌,我们来看一下继承的这个接口都给我们提供了哪些方法:
可以看到,提供了大部分我们会用到的方法,那么如果这些方法中没有我们想要的,我们需要自己编写该怎么办呢?下面的这个表中的语法基本上都可以帮助我们去做到:
如果这样还没法满足我们的需求,我们还可以自己去编写类似于 HQL
的语句去查询:
有关 HQL
的语法,我们会在后面开单章单独讲解ψ(`∇´)ψ。
接口类不再贴出,占用篇幅。。
运行程序后,可以看到已经给我们创建了用户表以及用户索引表。
访问地址,可以看到:
一切正如我们所料(づ。◕‿‿◕。)づ
有细心的同学可能注意到了,我继承的这个接口可以实现自定义排序以及分页的功能,那么我们该怎么去使用呢?
一行代码解决分页~(在实战中我们可能不会这样去用,这里只是做为一个功能的展示证明JPA有多么的强大)
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
源码可以去github或者码云上进行下载,后续的例子都会同步更新。