目录
通过dubbo提供mybatisplus分页查询服务
由于使用dubbo,所以下面对mybatisplus的使用分为提供者和消费者。
提供者
0.导入mybatis-plus相关依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<optional>true</optional>
</dependency>
1.编写暴露的接口
package cn.itcast.haoke.dubbo.server.api;
import cn.itcast.haoke.dubbo.server.pojo.HouseResources;
import cn.itcast.haoke.dubbo.server.vo.PageInfo;
public interface ApiHouseResourcesService {
/**
* 分页查询房源列表
* @param page
* @param pageSize
* @param queryCondition 查询条件
* @return
*/
PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition);
}
2.编写PageInfo对象
这里有两点需要注意,一是序列化ID要自己手动生成,二是我们使用lombok提供的注解实现了构造方法和gettersetter
package cn.itcast.haoke.dubbo.server.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.Collections;
import java.util.List;
@Data
@AllArgsConstructor
public class PageInfo<T> implements java.io.Serializable {
private static final long serialVersionUID = -8800028898346527257L;
/**
* 总条数
*/
private Integer total;
/**
* 当前页
*/
private Integer pageNum;
/**
* 一页显示的大小
*/
private Integer pageSize;
/**
* 数据列表
*/
private List<T> records = Collections.emptyList();
}
3.编写Service实现类
因为我们选择的是带条件的分页查询,所有我们需要条件方法wrapper,在这里我们选择根据数据的更新时间做倒序排序
pack