mybatis-plus 使用小结

本文详细介绍了在Mybatis-Plus中如何进行分页查询以及使用数组作为参数进行操作的方法,结合实例展示了具体的Mybatis映射写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分页,数组入参mybatis写法实例

数组入参mybatis查找,模糊查找
mapper.xml:
<select id="pageSearchList" resultType="com.example.domain.stockModel">
select 
	user_name as username,
	mobile as mobile
from stockin_order 
<where>
	<if test="query.spaceIds!=null and query.spaceIds.size()>0">
	    and s.space_id in
	    <foreach collection="query.spaceIds" separator="," index="index" item="spaceId" open="("
	    close=")">
	        #{spaceId}
	    </foreach>
	</if>
	<if test="query.sku != null and query.sku !=''">
         AND i.sku like concat('%',#{query.sku},'%')
	 </if>
</where>
</select>

Mapper接口:
public interface StockMapper extends BaseMapper<StockEntity> {
    IPage<StockModel> pageSearchList(IPage page, @Param("query") StockListRequest request);
}

service:
public PageResponse<StockResponse> getStockListByRequest(StockListRequest request) {
        PageResponse<StockResponse> pageResponse = new PageResponse<>();
        IPage<StockModel> pageResult = stockMapper.pageSearchList(new Page<>(request.getPageIndex(), request.getPageSize()), request);
        List<StockModel> resultList = pageResult.getRecords();
        List<StockResponse> responseList = resultList.stream().map(item -> {
            StockResponse response = new StockResponse();
            BeanUtils.copyProperties(item, response);
            return response;
        }).collect(Collectors.toList());
        pageResponse.setTotalCount(pageResult.getTotal());
        pageResponse.setContent(responseList);
        return pageResponse;
    }

request:
@Data
public class StockListRequest extends PageRequest {

    @ApiModelProperty(value = "用户名", name = "username")
    private String username;

    @ApiModelProperty(value = "手机号", name = "mobile") //swagger-ui使用,为了前端开发方便、可以不用
    private String mobile;
}

request基类:
@Data
public class PageRequest {
    @NotNull
    private Integer pageSize = 20;

    @NotNull
    private Integer pageIndex = 1;

    private String sortField;
    private String sortOrder; //asc,desc
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值