久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

MyBatis Plus 將查詢結果封裝到指定實體的方法步驟

瀏覽:2日期:2023-10-22 14:43:36

思路

自定義方法,使用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;@Mapperpublic interface OrderInfoDao extends BaseMapper<OrderInfo> { @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<OrderVO> findByCondition(@Param(Constants.WRAPPER)Wrapper wrapper); List<OrderVO> selectOrderVOList(@Param(Constants.WRAPPER)Wrapper wrapper);}

Mapper.xml

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd'><mapper namespace='com.mozq.boot.mpsand01.dao.OrderInfoDao'> <resultMap type='com.mozq.boot.mpsand01.vo.OrderVO'> <id column='ORDER_ID' property='orderId' jdbcType='VARCHAR' /> <result column='USER_ID' property='userId' jdbcType='INTEGER' /> <result column='COMPANY_ID' property='companyId' jdbcType='INTEGER' /> <result column='CUSTOMER_ID' property='customerId' jdbcType='INTEGER' /> <result column='CUSTOMER_NAME' property='customerName' jdbcType='VARCHAR' /> <result column='MOBILE_PHONE' property='mobilePhone' jdbcType='VARCHAR' /> <result column='ACCOUNT_ID' property='accountId' jdbcType='VARCHAR' /> <result column='PRODUCT_ID' property='productId' jdbcType='INTEGER' /> <result column='PRODUCT_NAME' property='productName' jdbcType='VARCHAR' /> <result column='ORDER_TYPE' property='orderType' jdbcType='INTEGER' /> <result column='QUANTITY' property='quantity' jdbcType='DECIMAL' /> <result column='LICENSE_PLATE_NUMBER' property='licensePlateNumber' jdbcType='VARCHAR' /> <result column='PRICE' property='price' jdbcType='DECIMAL' /> <result column='TOTAL_MONEY' property='totalMoney' jdbcType='DECIMAL' /> <result column='PAY_QUANTITY' property='payQuantity' jdbcType='DECIMAL' /> <result column='PAY_MONEY' property='payMoney' jdbcType='DECIMAL' /> <result column='THE_WEIGHT' property='theWeight' jdbcType='INTEGER' /> <result column='DELIVERY_ADDRESS' property='deliveryAddress' jdbcType='VARCHAR' /> <result column='RECEIVE_ADDRESS' property='receiveAddress' jdbcType='VARCHAR' /> <result column='ORDER_STATUS' property='orderStatus' jdbcType='INTEGER' /> <result column='REMARK' property='remark' jdbcType='VARCHAR' /> <result column='PICKUP_TIME' property='pickupTime' jdbcType='TIMESTAMP' /> <result column='CREATE_TIME' property='createTime' jdbcType='TIMESTAMP' /> <result column='UPDATE_TIME' property='updateTime' jdbcType='TIMESTAMP' /> </resultMap> <sql id='Base_Column_List'> 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 </sql> <select resultMap='BaseResultMapVO'> select <include refid='Base_Column_List'></include> from order_info ${ew.customSqlSegment} </select></mapper>

測試類

@Testpublic void selectOrderVOList(){ List<OrderVO> orderVOList = orderInfoDao.selectOrderVOList( Wrappers.<OrderInfo>lambdaQuery() .eq(OrderInfo::getUserId, 123456) .eq(OrderInfo::getCompanyId, 1) ); System.out.println(orderVOList.size()); List<OrderVO> byCondition = orderInfoDao.findByCondition( Wrappers.<OrderInfo>lambdaQuery() .eq(OrderInfo::getUserId, 123456) .eq(OrderInfo::getCompanyId, 1) ); System.out.println(byCondition.size()); List<OrderInfo> orderInfoList = orderInfoDao.selectList( Wrappers.<OrderInfo>lambdaQuery() .eq(OrderInfo::getUserId, 123456) .eq(OrderInfo::getCompanyId, 1) ); System.out.println(orderInfoList.size());}

到此這篇關于MyBatis Plus 將查詢結果封裝到指定實體的方法步驟的文章就介紹到這了,更多相關MyBatis Plus查詢結果封裝到指定實體內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 黄山市| 巴南区| 隆德县| 宁南县| 志丹县| 澎湖县| 克拉玛依市| 游戏| 沙坪坝区| 新巴尔虎左旗| 内黄县| 恩施市| 乌拉特后旗| 慈溪市| 勐海县| 固始县| 锡林浩特市| 廉江市| 台东市| 永年县| 宝应县| 枣庄市| 康定县| 谢通门县| 吴桥县| 卢湾区| 北票市| 白城市| 资溪县| 凤阳县| 大洼县| 天水市| 巨鹿县| 石屏县| 石台县| 改则县| 南漳县| 台东县| 南康市| 武功县| 临安市|