思路
自定义方法,使用Wrapper,自定义映射结果集
Mapper接口
package com.mozq.boot.mpsand01.dao; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.mozq.boot.mpsand01.pojo.OrderInfo; import com.mozq.boot.mpsand01.vo.OrderVO; import org.apache.ibatis.annotations.*; import java.util.List; @Mapper public interface OrderInfoDao extends BaseMapper{ @Select("select * from order_info ${ew.customSqlSegment}") /* 只指定2个,其他列能自动匹配的,也会被映射。 @Results({ @Result(id = true, column = "ORDER_ID", property = "orderId", jdbcType = JdbcType.VARCHAR), @Result(column = "USER_ID", property = "userId", jdbcType = JdbcType.INTEGER) }) */ List findByCondition(@Param(Constants.WRAPPER)Wrapper wrapper); List selectOrderVOList(@Param(Constants.WRAPPER)Wrapper wrapper); }
Mapper.xml
<&#63;xml version="1.0" encoding="UTF-8" &#63;>ORDER_ID, USER_ID, COMPANY_ID, CUSTOMER_ID, CUSTOMER_NAME, MOBILE_PHONE, ACCOUNT_ID, PRODUCT_ID, PRODUCT_NAME, ORDER_TYPE, QUANTITY, LICENSE_PLATE_NUMBER, PRICE, TOTAL_MONEY, PAY_QUANTITY, PAY_MONEY, THE_WEIGHT, DELIVERY_ADDRESS, RECEIVE_ADDRESS, ORDER_STATUS, REMARK, PICKUP_TIME, CREATE_TIME, UPDATE_TIME
测试类
@Test public void selectOrderVOList(){ ListorderVOList = orderInfoDao.selectOrderVOList( Wrappers. lambdaQuery() .eq(OrderInfo::getUserId, 123456) .eq(OrderInfo::getCompanyId, 1) ); System.out.println(orderVOList.size()); List byCOndition= orderInfoDao.findByCondition( Wrappers. lambdaQuery() .eq(OrderInfo::getUserId, 123456) .eq(OrderInfo::getCompanyId, 1) ); System.out.println(byCondition.size()); List orderInfoList = orderInfoDao.selectList( Wrappers. lambdaQuery() .eq(OrderInfo::getUserId, 123456) .eq(OrderInfo::getCompanyId, 1) ); System.out.println(orderInfoList.size()); }
到此这篇关于MyBatis Plus 将查询结果封装到指定实体的方法步骤的文章就介绍到这了,更多相关MyBatis Plus查询结果封装到指定实体内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!