一、添加配置类
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor()
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor()
paginationInnerInterceptor.setDbType(DbType.MYSQL)
paginationInnerInterceptor.setOverflow(true)
interceptor.addInnerInterceptor(paginationInnerInterceptor)
OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor = new OptimisticLockerInnerInterceptor()
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor)
return interceptor
}
}
二、实现类
public interface OrderDetailMapper extends BaseMapper<OrderDetailPO> {
IPage<OrderDetailDTO> pageOrderDetail(IPage<OrderDetailDTO> page, @Param("req") Map map);
}
@Service
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetailPO> implements OrderDetailService {
@Override
public BasePageRsp<OrderDetailDTO> pageOrderDetail(Map req) {
Page<OrderDetailDTO> page = new Page<>(1, 10);
page = (Page<OrderDetailDTO>) baseMapper.pageOrderDetail(page, req);
return BasePageRsp.valueOf(page);
}
}
<select id="pageOrderDetail" resultType="org.ethh.dal.dto.OrderDetailDTO">
SELECT t1.CreateTime AS orderTime, OrderNo AS orderNumber, t1.UpdateTime AS lastUpdateTime, t1.BatchNo AS tradeNumber, t1.ContractCode AS product, t1.OrderLevel AS orderLevel, t1.AlgoStatus AS algoStatus, t1.OrderType AS direction, NULL AS openCloseDirection, OrderPrice AS averagePrice,
CASE
WHEN OrderQty = FilledQty THEN
WHEN OrderQty = CancelledQty THEN
ELSE
END AS orderStatus, Bid AS buyPrice, Ask AS sellPrice, NULL AS marketPrice,
CASE
WHEN BidAskFlag =
ELSE
END AS buyOrderPrice,
CASE
WHEN BidAskFlag =
ELSE
END AS sellOrderPrice, NULL AS bestMidPrice, NULL AS bestSpread, NULL AS targetInventory, NULL AS actualInventory, Gamma AS toleranceFactor, Volatility AS volatility, Kappa AS orderBookLiquidity
FROM order_detail t1
where 1=1
<if test="req.startTime != null">
AND t1.CreateTime >= #{req.startTime}
</if>
<if test="req.endTime != null">
<![CDATA[
AND t1.CreateTime <= #{req.endTime}
]]>
</if>
</select>