使用mybatis-plus实现一个分页的功能 并且提供mapper层的实现细节
时间: 2024-02-09 13:10:27 浏览: 136
mybatis-plus分页查询的实现示例
好的,以下是使用Mybatis-plus实现分页查询的示例代码,包括Mapper层的实现细节:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UserMapper extends BaseMapper<User> {
List<User> selectAllUser(Page<User> page);
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
在`UserMapper`中,我们定义了两个方法用于分页查询。第一个方法`selectAllUser()`用于查询所有用户,并且使用Mybatis-plus提供的分页查询方式。第二个方法`selectUserPage()`用于根据条件分页查询用户。
```java
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserListByPage(int pageNum, int pageSize) {
// 创建分页对象
Page<User> page = new Page<>(pageNum, pageSize);
// 执行分页查询
IPage<User> userPage = userMapper.selectAllUser(page);
return userPage;
}
@Override
public IPage<User> getUserListByPageAndName(int pageNum, int pageSize, String name) {
// 创建分页对象
Page<User> page = new Page<>(pageNum, pageSize);
// 执行分页查询
IPage<User> userPage = userMapper.selectUserPage(page, name);
return userPage;
}
}
```
在`UserServiceImpl`中,我们调用了`UserMapper`中定义的两个方法来实现分页查询。第一个方法`getUserListByPage()`查询所有用户,并且使用Mybatis-plus提供的分页查询方式。第二个方法`getUserListByPageAndName()`根据条件分页查询用户。在两个方法中,我们都使用了Mybatis-plus提供的`Page`类来构造分页对象,并且调用了`selectPage()`方法来执行分页查询。
阅读全文