springboot中使用mybatisplus使用like实现分页查询
时间: 2023-10-24 19:19:54 浏览: 121
mybatis-plus分页查询的实现示例
在 Spring Boot 中使用 MybatisPlus 实现模糊查询并分页,可以按照如下步骤:
1. 在 pom.xml 文件中添加 MybatisPlus 的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 在 application.properties 文件中添加 MybatisPlus 的配置:
```properties
# MybatisPlus 配置
mybatis-plus.mapper-locations=classpath*:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.entity
```
3. 创建一个 MybatisPlus 的配置类 MybatisPlusConfig,并开启分页功能:
```java
@Configuration
@MapperScan("com.example.mapper")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}
```
4. 在 Mapper 接口中定义一个分页查询方法,如下所示:
```java
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
其中,`Page` 是 MybatisPlus 提供的分页对象,`@Param("name")` 表示传入的参数名称是 `name`。
5. 在 Mapper.xml 文件中实现分页查询方法:
```xml
<select id="selectUserPage" resultType="com.example.entity.User">
select * from user
where name like concat('%', #{name}, '%')
order by id desc
</select>
```
其中,`concat` 函数用于拼接字符串,`#{name}` 表示传入的参数值是 `name`。
6. 在 Service 层中调用分页查询方法:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> selectUserPage(Page<User> page, String name) {
return baseMapper.selectUserPage(page, name);
}
}
```
其中,`baseMapper` 是 MybatisPlus 提供的基础 Mapper 类,可以直接调用 Mapper 接口中定义的方法。
7. 最后,在 Controller 层中调用 Service 层中的分页查询方法,并将查询结果返回给前端:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public IPage<User> selectUserPage(Page<User> page, String name) {
return userService.selectUserPage(page, name);
}
}
```
以上就是在 Spring Boot 中使用 MybatisPlus 实现模糊查询并分页的步骤。
阅读全文