怎么在Spring Data Jpa中使用模糊查询
怎么在Spring Data Jpa中使用模糊查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Spring Data Jpa 模糊查询正确用法
首先,先创建一个实体用来存储我们的数据
@Data @Entity @EqualsAndHashCode(callSuper = true) public class ExampleEntity{ @Id @GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid") private String Id ; private String username; private String deviceNames; }
接着,创建我们实体对应的Repository接口
/** * @author chentai * @date 18/04/22 */ @Repository public interface ExampleRepository extends CrudRepository<ExampleEntity, String> { /** * 模糊查询正确用法 * 其中username不支持模糊查询,deviceNames支持模糊查询 * * @param deviceNames 模糊查询deviceNames * @param username 用户名称 * @return {@link List<ExampleEntity>} */ List<ExampleEntity> findAllByDeviceNamesContainingAndUsername(String deviceNames,String username); /** * 模糊查询错误用法 * 其中username不支持模糊查询,deviceNames支持模糊查询 * * @param deviceNames 模糊查询deviceNames * @param username 用户名称 * @return {@link List<ExampleEntity>} */ List<ExampleEntity> findAllByDeviceNamesLikeAndUsername(String deviceNames,String username); }
最后,在测试类中测试ExampleRepository中的两个方法,(测试结果暂不展示)发现findAllByDeviceNamesLikeAndUsername方法并没有正确查询到我们想要的结果,得到的结果是精确查询的结果。而findAllByDeviceNamesContainingAndUsername得到了我们想要的模糊查询的结果。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。