springboot数据库模糊查询和分页怎么实现的
时间: 2024-05-06 14:14:59 浏览: 81
在 Spring Boot 中,可以通过使用 MyBatis 或者 Spring Data JPA 来实现数据库模糊查询和分页。
对于 MyBatis,可以使用 SQL 的 LIKE 操作符来进行模糊查询,同时使用 LIMIT 和 OFFSET 关键字来实现分页。例如:
```xml
<select id="findByKeyword" resultType="com.example.User">
SELECT * FROM user
WHERE name LIKE #{keyword} ESCAPE '/'
ORDER BY id DESC
LIMIT #{pageSize} OFFSET #{offset}
</select>
```
其中 `#{keyword}` 是查询关键字,`#{pageSize}` 是每页显示的记录数,`#{offset}` 是当前页偏移量。需要注意的是,`LIKE` 操作符需要使用 `ESCAPE` 关键字来指定转义字符。
对于 Spring Data JPA,可以使用 `@Query` 注解来编写自定义的查询语句,同时使用 `Pageable` 来实现分页。例如:
```java
@Query("SELECT u FROM User u WHERE u.name LIKE %:keyword% ORDER BY u.id DESC")
Page<User> findByKeyword(@Param("keyword") String keyword, Pageable pageable);
```
其中 `%` 表示任意字符,`Pageable` 是 Spring Data JPA 提供的分页对象,可以通过 `PageRequest.of(page, size)` 来创建。
通过以上方式,可以实现数据库模糊查询和分页功能。需要注意的是,分页查询可能会对性能造成影响,尤其是在数据量较大的情况下,因此需要合理设置每页显示的记录数和查询条件。
阅读全文