SpringBoot2.0使用Spring Data-JPA实现增删改查
本文主要讲解使用springboot2.0使用jpa实现增删改查,外加自己拓展方法,spring的jpa是一个非常不错的持久层框架,可以理解为就是对Hibrenate进行了封装,比起Mybatis优点在于不用关注sql语句的编写。
项目构建
首先我们要建一个springboot的项目,并引入JPA依赖,这里我用的Maven构建的项目。
注意:如果需要转gradle项目,可以直接在pom.xml目录下执行如下命令即可转化为gradle项目
gradle init --type pom
pom.xml
![f85f9b1c491f629aca90f5ff57a0fffb.png](https://i-blog.csdnimg.cn/blog_migrate/1c319d3e6c6d1eb8bd8ede7ae10bc10a.jpeg)
添加配置文件,dev,prod(这里也没必要加,测试这玩直接写在主配置里就行)
![a570b2ee579b5803671768c6a18a3ff1.png](https://i-blog.csdnimg.cn/blog_migrate/862dbe8719eae999d84a517ff29580a4.jpeg)
![ed91bfe3b0aac90445173d3ceeb90202.png](https://i-blog.csdnimg.cn/blog_migrate/73cb90e27b32d871c25e388e636fdc8b.jpeg)
![95610daf86f75150bb9beb7b54c9a644.png](https://i-blog.csdnimg.cn/blog_migrate/90d66a77e48f5f9816830e69e50e90e2.jpeg)
这里驱动爆红是因为依赖驱动的时候加了一个scope:runtime。
创建实体和表关系
![9b33c9542dfc83925a8c892d5bfc5031.png](https://i-blog.csdnimg.cn/blog_migrate/84d8f2c4716ee3b76a5569f8615ff4b5.jpeg)
DAO
![32b781eb37ef7e2a3d6c04e28dac9a91.png](https://i-blog.csdnimg.cn/blog_migrate/d204351d72733eefb672b9686206f1a0.jpeg)
这里继承了JpaRepository,它封装了很多hibernate的操作表的方法,我们也可以自定义一下方法。
![0fcb0b23486a613d060be5d9780055e1.png](https://i-blog.csdnimg.cn/blog_migrate/166b08d5fa289f54a10174a4068f9b76.jpeg)
service
![0e397bc39afb8c062dc3856f5ac49e05.png](https://i-blog.csdnimg.cn/blog_migrate/417cd5a2d328175639644b364b2e24fb.jpeg)
controller
![a12680b5646e7d0374308ffa9a3181db.png](https://i-blog.csdnimg.cn/blog_migrate/99fa11e4dc892f8070d16b8fa7b04d0b.jpeg)
启动服务
![6e7d5d08bf974a10486b4042d277f7e7.png](https://i-blog.csdnimg.cn/blog_migrate/8dbea730982bee57fc962361ae40dd9d.jpeg)
服务启动之后会根据我们的定义的实体来生成对应的表,在这里我们要先创建对应的数据库。
![2e12df59589280ec7c32ce0a0bc25133.png](https://i-blog.csdnimg.cn/blog_migrate/5fba4ac6468e084640dc7beff4d9693a.jpeg)
测试很重要
接下来我们postman来测试下我们的接口:
添加一条数据
![10df0751814ef36ac9108f87925d8b68.png](https://i-blog.csdnimg.cn/blog_migrate/cbfca61b8000e9215d01b5fb9bc691e0.jpeg)
注意:我们在controller中的对应实体要加上@RequestBody
查询
![bba12c720ecbb6968a9ba3ed48766736.png](https://i-blog.csdnimg.cn/blog_migrate/f42d7aca4086b5f20d2be8ea72f21da7.jpeg)
删除
![7ed2000e02099a24dc0d81847d1d47a0.png](https://i-blog.csdnimg.cn/blog_migrate/e00426d617b6bdb002d39accf44c1932.jpeg)
![28455adf91b1c2117140936dd32ed810.png](https://i-blog.csdnimg.cn/blog_migrate/843a197f08c148aaa9f652d155b8a71c.jpeg)
更详细的的代码,请移步git
Git地址:https://github.com/bobocui/springboot-demo.git
以后代码仅供学习参考。
![1680d3a78a5031881c1b88ba1b946f1d.gif](https://i-blog.csdnimg.cn/blog_migrate/0ff8241467e4024423a0b49fd95f99ed.gif)