栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Spring Boot CrudRepository过滤数据

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Spring Boot CrudRepository过滤数据

一种替代方案,可以通过标准API或QueryDSL使用规范模式,可以解决您在上述注释中必须为每种参数组合创建查询方法的问题。

出于对以下方面的关注,下面概述了两种方法:

对于更大的应用程序,查询方法的数量可能会增加,这是因为-这是第二点-
查询定义了一组固定的条件。为避免这两个缺点,如果您能提出一组可以动态组合以构建查询的原子谓词,这不是很酷吗?

https://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-
and-querydsl/

我发现QueryDSL易于使用。您只需要定义一个接口方法,然后就可以将参数的任意组合传递给谓词。

例如

public interface UserRepository extends PagingAndSortingRepository<User, Long>, QueryDslPredicateExecutor<User> {    public List<User> findAll(Predicate predicate);}

并查询:

repository.findAll(QUser.user.address.town.eq("Glasgow").and(QUser.user.gender.eq(Gender.M)));repository.findAll(QUser.user.address.town.eq("Edinburgh"));repository.findAll(QUser.user.foreName.eq("Jim"));

其中QUser是QueryDSL自动生成的类。

http://docs.spring.io/spring-
data/jpa/docs/current/api/index.html?org/springframework/data/jpa/repository/support/QueryDslRepositorySupport.html

http://www.querydsl.com/static/querydsl/2.1.0/reference/html/ch02s02.html

更新资料

从Spring Data模块的Gosling版本开始,现在支持从Web应用程序中的HTTP参数自动生成谓词。

https://spring.io/blog/2015/09/04/what-s-new-in-spring-data-release-
gosling#querydsl-web-support



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371449.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号