示例 使用PagingAndSortingRepository接口
PagingAndSortingRepository继承自CrudRepository接口,所以除了拥有了CrudRepository的功能之外,它还增加了排序和分页查询的功能。现创建一个新的Maven项目,命名为pagingAndSortingRepositorytest。按照Maven项目的规范,在src/main/下新建一个名为resources的Folder。
(1)修改pom.xml文件。
在pom.xml文件中加入mysql-connector-java依赖以及spring-boot-starter-data-jpa依赖,pom.xml文件配置与“示例 使用CrudRepository接口访问数据”相同,代码如下:
(2)配置基本属性
在src/main/resources包下新建一个全局配置文件,命名为application.properties,在该配置文件中配置数据源和jpa相关的属性:
(3)创建持久化类
(4)定义数据访问层接口
在Spring Boot项目中数据访问层无需提供实现,直接继承数据访问接口即可。
(5)定义业务层类
在业务层中需要注入数据访问层对象,在上述代码中我们是通过@Resources注解将ArticleRepository接口对应的实现类注入进来的。
(6)定义控制器类
(7)测试应用
启动Mysql数据库,继续使用之前在数据库中创建的springdatajpa数据库,然后在org.fkit.pagingAndSortingRepositorytest包下新建App.java启动类,App.java和之前的项目一致,此处不再赘述。右键该类运行main方法。Spring Boot项目启动后,先去数据库查看是否成功自动创建了持久化类对应的tb_article表,然后再打开数据库管理工具执行如下测试数据脚本:
测试脚本执行成功以后,打开浏览器,输入如下URL:
请求会提交到ArticleController类的sortArticle方法进行处理,该方法执行排序查询,将tb_article表中的数据以降序的方式查询出来并以json格式返回到浏览器,如下图所示:
图4.8 排序查询商品数据测试分页查询第一页商品数据,在浏览器中输入如下地址:
请求会提交到ArticleController类的sortPagerArticle方法进行处理,该方法会接收pageIndex参数,根据该参数确定查询第几页数据,查询到第一页数据如下:
图4.9 分页查询第一页数据测试分页查询第一页商品数据,在浏览器中输入如下地址:
请求会提交到ArticleController类的sortPagerArticle方法进行处理,该方法会接收pageIndex参数,根据该参数确定查询第几页数据,查询到第二页数据如下:
图4.10 分页查询第二页数据
领取专属 10元无门槛券
私享最新 技术干货