mybatis-plus 分页查询 代码
时间: 2023-09-22 20:09:18 浏览: 37
好的,以下是一个 mybatis-plus 分页查询的示例代码:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> selectPage(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, null);
}
}
```
其中,`UserMapper` 是数据访问层,`UserService` 是业务逻辑层,`UserServiceImpl` 是业务逻辑层的实现类。
使用 mybatis-plus 分页查询,可以通过 `Page` 对象实现分页,并通过调用 `userMapper.selectPage` 函数进行查询。
希望这个代码示例能帮助到您。
相关问题
mybatis-plus分页查询代码
下面是使用Mybatis-plus进行分页查询的代码示例:
1. 简单说明:
Mybatis-plus是一个优秀的Mybatis增强工具,在分页查询方面有很好的支持。
2. 介绍说明:
在使用Mybatis-plus进行分页查询时,我们可以通过以下几个步骤来实现:
- 导入相关依赖(如果还没有导入):
```
<!-- Mybatis-plus依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.x.x</version>
</dependency>
```
- 在配置文件中配置分页插件:
在Mybatis的配置文件(一般是mybatis-config.xml)中添加分页插件的配置:
```
<plugins>
<!-- Mybatis-plus分页插件 -->
<plugin interceptor="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
```
- 编写Mapper接口及对应的Mapper.xml文件:
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserList(Page<User> page, @Param("username") String username);
}
```
```xml
<!-- Mapper.xml -->
<select id="selectUserList" resultType="User">
SELECT * FROM user
<where>
<if test="username != null and username != ''">
AND username = #{username}
</if>
</where>
</select>
```
- 在Service层中调用Mapper接口进行分页查询:
```java
public interface UserService {
IPage<User> selectUserList(Page<User> page, String username);
}
```
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> selectUserList(Page<User> page, String username) {
return userMapper.selectUserList(page, username);
}
}
```
- 在Controller层中调用Service层进行分页查询:
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public IPage<User> getUserList(Page<User> page, String username) {
return userService.selectUserList(page, username);
}
}
```
3. 完整配置类代码:
```java
@Configuration
@MapperScan("com.example.mapper")
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
paginationInterceptor.setDialectType("mysql");
return paginationInterceptor;
}
}
```
4. 示例代码:
使用上述代码示例,我们可以进行如下调用:
```
@GetMapping("/users")
public IPage<User> getUserList(Page<User> page, String username) {
return userService.selectUserList(page, username);
}
```
5. 最后总结:
通过以上代码示例,我们可以轻松地实现使用Mybatis-plus进行分页查询。希望对您有所帮助!
mybatis-plus分页查询代码示例
MyBatis-Plus是一个集成了很多方便开发功能的MyBatis增强工具包,其中包括分页查询功能。下面是一个MyBatis-Plus分页查询的代码示例:
首先,在Mapper层中编写一个查询方法,使用MyBatis-Plus提供的Page对象来实现分页查询:
```java
public interface UserMapper extends BaseMapper<User> {
/**
* 根据用户名模糊查询,分页返回结果
*
* @param page 分页参数
* @param userName 用户名模糊查询条件
*/
IPage<User> selectUserPage(Page<?> page, String userName);
}
```
然后,在Service层中调用Mapper层的查询方法,传入分页参数和查询条件即可实现分页查询:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> selectUserPage(int pageNum, int pageSize, String userName) {
Page<User> page = new Page<>(pageNum, pageSize);
return baseMapper.selectUserPage(page, userName);
}
}
```
最后,在Controller层中接收前端传入的分页参数和查询条件,并将查询结果返回给前端:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public JsonResult listUsers(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize,
@RequestParam(required = false) String userName) {
IPage<User> userList = userService.selectUserPage(pageNum, pageSize, userName);
return JsonResult.success(userList);
}
}
```
通过以上三个步骤,我们就实现了使用MyBatis-Plus进行分页查询的功能。需要注意的是,在前端传入的pageNum默认值设为1,pageSize默认值设为10,即每页显示10条数据;同时,我们使用了自定义的JsonResult类来封装接口返回结果。
阅读全文