MyBatis Plus 将查询结果封装到指定实体的方法步骤
思路
自定义方法,使用Wrapper,自定义映射结果集
Mapper接口
packagecom.mozq.boot.mpsand01.dao; importcom.baomidou.mybatisplus.core.conditions.Wrapper; importcom.baomidou.mybatisplus.core.mapper.BaseMapper; importcom.baomidou.mybatisplus.core.toolkit.Constants; importcom.mozq.boot.mpsand01.pojo.OrderInfo; importcom.mozq.boot.mpsand01.vo.OrderVO; importorg.apache.ibatis.annotations.*; importjava.util.List; @Mapper publicinterfaceOrderInfoDaoextendsBaseMapper{ @Select("select*fromorder_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)Wrapperwrapper); List selectOrderVOList(@Param(Constants.WRAPPER)Wrapperwrapper); }
Mapper.xml
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 select fromorder_info ${ew.customSqlSegment}
测试类
@Test publicvoidselectOrderVOList(){ 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()); }
到此这篇关于MyBatisPlus将查询结果封装到指定实体的方法步骤的文章就介绍到这了,更多相关MyBatisPlus查询结果封装到指定实体内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!