jpa有没有直接生成controller service_Spring Data-JPA实现增删改查

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

添加配置文件,dev,prod(这里也没必要加,测试这玩直接写在主配置里就行)

a570b2ee579b5803671768c6a18a3ff1.png
ed91bfe3b0aac90445173d3ceeb90202.png
95610daf86f75150bb9beb7b54c9a644.png

这里驱动爆红是因为依赖驱动的时候加了一个scope:runtime。

创建实体和表关系

9b33c9542dfc83925a8c892d5bfc5031.png

DAO

32b781eb37ef7e2a3d6c04e28dac9a91.png

这里继承了JpaRepository,它封装了很多hibernate的操作表的方法,我们也可以自定义一下方法。

0fcb0b23486a613d060be5d9780055e1.png

service

0e397bc39afb8c062dc3856f5ac49e05.png

controller

a12680b5646e7d0374308ffa9a3181db.png

启动服务

6e7d5d08bf974a10486b4042d277f7e7.png

服务启动之后会根据我们的定义的实体来生成对应的表,在这里我们要先创建对应的数据库。

2e12df59589280ec7c32ce0a0bc25133.png

测试很重要

接下来我们postman来测试下我们的接口:

添加一条数据

10df0751814ef36ac9108f87925d8b68.png

注意:我们在controller中的对应实体要加上@RequestBody

查询

bba12c720ecbb6968a9ba3ed48766736.png

删除

7ed2000e02099a24dc0d81847d1d47a0.png
28455adf91b1c2117140936dd32ed810.png

更详细的的代码,请移步git

Git地址:https://github.com/bobocui/springboot-demo.git

以后代码仅供学习参考。

1680d3a78a5031881c1b88ba1b946f1d.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于Spring Data JPA的分页查询,您可以按照以下步骤进行操作: 1. 首先,确保您的项目中已经引入了Spring Data JPA依赖,以及相关的数据库驱动依赖。 2. 创建一个继承自JpaRepository的接口,用于定义您的数据访问操作。例如: ```java import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface UserRepository extends JpaRepository<User, Long> { // 在这里可以定义各种自定义的查询方法 } ``` 3. 在您的Service层或者Controller层注入该Repository,并使用其提供的分页方法进行查询。例如: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired private UserRepository userRepository; public Page<User> getUsersByPage(int pageNum, int pageSize) { PageRequest pageRequest = PageRequest.of(pageNum, pageSize); return userRepository.findAll(pageRequest); } } ``` 在上述示例中,我们通过调用`userRepository.findAll(pageRequest)`方法实现了分页查询,并传入`PageRequest`对象来指定页码和每页大小。 4. 最后,在您的Controller层中使用该Service方法来处理分页查询请求,并将结果返回给前端。例如: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users") public Page<User> getUsersByPage(@RequestParam int pageNum, @RequestParam int pageSize) { return userService.getUsersByPage(pageNum, pageSize); } } ``` 在上述示例中,我们通过`@RequestParam`注解来接收前端传递的pageNum和pageSize参数,并调用UserService中的方法进行查询。 这样,您就可以使用Spring Data JPA进行分页查询了。希望能对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值