SpringBoot+JPA分页

SpringBoot+JPA分页

1.前期准备

1.新建springboot项目
在这里插入图片描述
2.在pom文件中导入依赖

		 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
            <version>1.2.3</version>
        </dependency>

3.准备实体类 Student

/**
 *实体类
 */
@Entity
@Table(name = "t_blog")
public class Student {
   
  @Id //主键
  @GeneratedValue //自增长
  private long studentNo;
  private String loginPwd;
  private String studentName;
  private String sex;
  private long gradeId;
  private String phone;
  private String address;
  private java.sql.Timestamp bornDate;
  private String email;
  private String identityCard;

  public Student(String loginPwd, String studentName, String sex, long gradeId, String phone, String address, Timestamp bornDate, String email, String identityCard) {
   
    this.loginPwd = loginPwd;
    this.studentName = studentName;
    this.sex = sex;
    this.gradeId = gradeId;
    this.phone = phone;
    this.address = address;
    this.bornDate = bornDate;
    this.email = email;
    this.identityCard = identityCard;
  }

  public Student() {
   
  }

  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对SpringBoot+JPA后端代码逻辑过大,执行时间过长,效率慢的问题,可以从以下几个方面进行优化: 1. 数据库性能优化:可以考虑对数据库进行优化,如建立索引、使用缓存等,以提高查询速度。 2. 代码逻辑优化:可以评估并优化代码逻辑,避免无用的计算和数据重复读取,减少不必要的资源消耗。 3. 异步编程:使用异步编程模型,如使用CompletableFuture等,可以提高并发访问的效率。 4. 分页查询:对于大量数据的查询,可以采用分页查询的方式,减少查询数据量,提高查询速度。 5. 服务拆分:将单个服务拆分为多个服务,分别处理不同的请求,以提高服务的并发性和吞吐量。 针对gateway timeout超时问题,可以将超时时间调整为更长的时间,或者对代码进行优化,提高执行效率。 下面是一个使用分页查询来优化SpringBoot+JPA后端代码的示例代码: ``` @GetMapping("/users") public ResponseEntity<List<User>> getUsers(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) { Pageable paging = PageRequest.of(page, size); Page<User> users = userRepository.findAll(paging); if(users.hasContent()) { return new ResponseEntity<>(users.getContent(), HttpStatus.OK); } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } ``` 在上述代码中,我们使用了Pageable和PageRequest来实现分页查询。这样,当用户请求/users接口时,只会返回指定范围内的数据,而不是将所有用户数据都查询出来。这样可以大大提高查询速度,并且减少了服务器的资源消耗,从而避免了网关超时问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值