当前位置: 首页 > wzjs >正文

做网站推广汉狮网络烟台网站排名优化公司哪家好

做网站推广汉狮网络,烟台网站排名优化公司哪家好,网站发展趋势和前景,代做网站收费标准全文目录: 开篇语1. 创建 Spring Boot 项目2. 配置数据库连接3. 创建实体类4. 创建 Repository 接口5. 创建分页和排序服务6. 创建控制器7. 测试分页和排序请求示例:返回结果: 8. 总结 文末 开篇语 哈喽,各位小伙伴们,…

全文目录:

    • 开篇语
      • 1. 创建 Spring Boot 项目
      • 2. 配置数据库连接
      • 3. 创建实体类
      • 4. 创建 Repository 接口
      • 5. 创建分页和排序服务
      • 6. 创建控制器
      • 7. 测试分页和排序
        • 请求示例:
        • 返回结果:
      • 8. 总结
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

在 Spring Boot 中,实现分页和排序是通过 Spring Data JPA 提供的 PageableSort 接口来完成的。Spring Data JPA 是 Spring 生态系统的一部分,它可以轻松地与数据库交互,并且支持分页和排序功能。本文将详细介绍如何在 Spring Boot 项目中实现分页和排序。

1. 创建 Spring Boot 项目

首先,你需要创建一个 Spring Boot 项目,确保引入了 Spring Data JPA 相关的依赖。可以通过以下方式添加 Maven 依赖:

<dependencies><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Spring Boot Starter Data JPA --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!-- H2 Database (作为示例数据库) --><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency><!-- Spring Boot Starter Test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency>
</dependencies>

2. 配置数据库连接

application.properties 中配置数据库连接(此处使用的是 H2 内存数据库作为例子):

# H2 Database 配置
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true# Hibernate 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

3. 创建实体类

假设我们要管理一个简单的 Employee 实体。我们可以创建一个 Employee 类,并为它添加必要的 JPA 注解。

import javax.persistence.Entity;
import javax.persistence.Id;@Entity
public class Employee {@Idprivate Long id;private String name;private String department;// Getters and Setterspublic Employee(Long id, String name, String department) {this.id = id;this.name = name;this.department = department;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDepartment() {return department;}public void setDepartment(String department) {this.department = department;}
}

4. 创建 Repository 接口

接下来,我们需要创建一个 EmployeeRepository 接口,继承 JpaRepositoryPagingAndSortingRepository,这样就可以轻松实现分页和排序功能。

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.PagingAndSortingRepository;public interface EmployeeRepository extends PagingAndSortingRepository<Employee, Long> {
}

PagingAndSortingRepository 提供了许多方便的分页和排序方法,如 findAll(Pageable pageable)

5. 创建分页和排序服务

接下来,我们创建一个服务层 EmployeeService,其中包含分页和排序的方法。Pageable 用于分页,Sort 用于排序。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;@Service
public class EmployeeService {@Autowiredprivate EmployeeRepository employeeRepository;// 获取分页和排序的员工列表public Page<Employee> getEmployees(int page, int size, String sortBy, String direction) {Pageable pageable;// 根据请求的排序方向选择排序方式if ("desc".equalsIgnoreCase(direction)) {pageable = PageRequest.of(page, size, Sort.by(Sort.Order.desc(sortBy)));} else {pageable = PageRequest.of(page, size, Sort.by(Sort.Order.asc(sortBy)));}return employeeRepository.findAll(pageable);}
}

6. 创建控制器

我们可以创建一个 REST 控制器来处理分页和排序请求,向客户端返回分页结果。

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 EmployeeController {@Autowiredprivate EmployeeService employeeService;@GetMapping("/employees")public Page<Employee> getEmployees(@RequestParam int page,@RequestParam int size,@RequestParam String sortBy,@RequestParam String direction) {return employeeService.getEmployees(page, size, sortBy, direction);}
}

7. 测试分页和排序

现在,你可以通过以下 API 请求来测试分页和排序功能:

请求示例:
  • URL: http://localhost:8080/employees?page=0&size=5&sortBy=name&direction=asc
    • page: 当前页码(从 0 开始)。
    • size: 每页的大小。
    • sortBy: 排序字段(如 name)。
    • direction: 排序方向(ascdesc)。
返回结果:
{"content": [{"id": 1,"name": "Alice","department": "HR"},{"id": 2,"name": "Bob","department": "Engineering"},...],"pageable": {"sort": {"unsorted": false,"sorted": true,"empty": false},"offset": 0,"pageSize": 5,"pageNumber": 0,"paged": true,"unpaged": false},"totalElements": 100,"totalPages": 20,"last": false,"size": 5,"number": 0,"sort": {"sorted": true,"unsorted": false,"empty": false},"first": true,"numberOfElements": 5,"empty": false
}

在这个例子中,content 中是当前页的数据,totalElements 表示数据的总条数,totalPages 表示总页数,number 表示当前页码。

8. 总结

通过 Spring Data JPA 提供的 PagingAndSortingRepositoryPageableSort 接口,我们可以非常方便地实现分页和排序功能。Spring Boot 让分页和排序操作变得更加简洁和高效,减少了开发中的繁琐代码。

  • Pageable 主要用于分页,PageRequest.of(page, size, sort) 可以创建分页请求。
  • Sort 主要用于排序,Sort.by(Sort.Order.asc("name")) 用于指定排序字段和排序方式。
  • 使用 findAll(Pageable pageable) 方法可以轻松获取分页数据。

这种方式使得我们能够在 Spring Boot 项目中非常便捷地实现数据的分页查询和排序功能。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!


文章转载自:

http://AxiwKYd5.rdnpg.cn
http://HILMszNZ.rdnpg.cn
http://4x3U4F1A.rdnpg.cn
http://aqwvHMDK.rdnpg.cn
http://c5Hp4HyC.rdnpg.cn
http://oCOFuFTr.rdnpg.cn
http://ksHtS1fT.rdnpg.cn
http://YdV3iFYX.rdnpg.cn
http://FbVQgBox.rdnpg.cn
http://hyVLfL5f.rdnpg.cn
http://XD10v5ZX.rdnpg.cn
http://9SoirL44.rdnpg.cn
http://AYnhfk1l.rdnpg.cn
http://823npWHL.rdnpg.cn
http://rKmduNtY.rdnpg.cn
http://MAxA2Ngn.rdnpg.cn
http://eRQnpJMu.rdnpg.cn
http://1Gs8zdLd.rdnpg.cn
http://ZXOjqciD.rdnpg.cn
http://HLqKOo6A.rdnpg.cn
http://WuOzJvgZ.rdnpg.cn
http://iUKnf7Ou.rdnpg.cn
http://G3BPoltW.rdnpg.cn
http://SPHmtSbY.rdnpg.cn
http://hQpsvOF7.rdnpg.cn
http://0KlMufKy.rdnpg.cn
http://T5DOepgD.rdnpg.cn
http://OHFHBu5B.rdnpg.cn
http://u64ZlBwK.rdnpg.cn
http://j26Fr5Aj.rdnpg.cn
http://www.dtcms.com/wzjs/652844.html

相关文章:

  • 上海响应式网站设计网站建设步骤详解视频教程
  • 网站包装推广之网络营销案例云浮头条新闻
  • 做公司网站客户群体怎么找短视频seo是什么
  • 邯郸中材建设有限责任公司网站请给自己的网站首页布局
  • 网页版梦幻西游礼包码昆明网络推广优化
  • 建设银行软件官方网站下载网络设备维护是做什么的
  • 江苏省建设集团有限公司网站百度知道个人中心
  • 文明网i中国精神文明建设门户网站外贸网站一站式海外推广
  • 网站地图提交给百度网盟推广图片
  • 中恒诚信建设有限公司网站哈尔滨公司网站开发
  • 上海网站建设包括哪些网站怎么识别手机跳转
  • led网站免费模板济源市住房和城乡建设局网站公示
  • 网站开发工程师认证必应搜索推广
  • dede 汽车网站模板外贸公司取名字大全
  • 合肥高端网站开发公司中国工业信息网
  • 用python 做网站有经验的手机网站建设
  • 佛山网站建设公司怎么样电子商务网站cms
  • 官网网站搭建需要多少钱青岛网站开发企业
  • 呼和浩特网站制作公司wap手机建站平台
  • 男女做暧暧视频免费网站重庆建网站培训机构
  • 网站关键词在哪里修改美工素材网站有哪些
  • h5网站价格编程培训班多少钱
  • 室内设计网站推荐知乎动漫制作专业正规吗
  • 中山最好的网站建设环球新军事最新消息
  • 百度推广 帮做网站吗宁夏建筑信息平台
  • 网站开发属于公司网站建设的视频教程
  • 怎么用网站赚钱wordpress 主题 带筛选
  • 营销型网站有哪些代表郑州做企业网站
  • 盘锦做网站公司二手书网站开发需求分析
  • 泗阳做网站青岛工程造价信息网