zoukankan      html  css  js  c++  java
  • springboot jpa 的使用 二

    一、 自定义查询,返回结果映射到 自定义类

    @Query("SELECT new com.vmi.replenishment.dto.OrderReminderDTO(arrivalTime,SUM(totalNum)) FROM SplitOrderPurchaseBody WHERE shipToCode in:shipToList GROUP BY arrivalTime ORDER BY arrivalTime")
        List<OrderReminderDTO> queryOrderReminderByShipTo(@Param(value="shipToList")List<String> shipToList);

    要点:

    1.  返回的类 实现了序列化  。然后需要提供构造方法

    public class OrderReminderDTO implements Serializable {
    
        /** serialVersionUID*/
        private static final long serialVersionUID = 1L;
    
        /* 总数据 */
        //@Column(name = "TOTAL_NUM")
        private Long totalNum;
        
        /* 到货日期*/
        //@Column(name = "ARRIVAL_TIME")
        private String arrivalTime;

    public OrderReminderDTO() {
    }
    public OrderReminderDTO(String arrivalTime,Long totalNum) {
    this.arrivalTime = arrivalTime;
    this.totalNum = totalNum;
    }

    2、sql 语句上用 new 提供全路径名

    SELECT new com.vmi.replenishment.dto.OrderReminderDTO

    3、属性写类的属性就可以,不用写 表字段名

    from 也是类名 不是表名  

    FROM SplitOrderPurchaseBody
    arrivalTime

    4、 参数赋值

    : 加上参数

    @Param(value="shipToList")List<String> shipToList
     WHERE shipToCode in:shipToList

    5、 更新方法

     @Modifying
         @Transactional
         @Query("update SkuQuota set hubAllocation =:hubAllocation where skuNo =:skuNo and soldTo =:soldTo")
         public void distributeBySkuAndSoldTo(@Param(value="hubAllocation")String hubAllocation,
                 @Param(value="skuNo")String skuNo,@Param(value="soldTo")String soldTo);

    必须有三个注解,否则报错

  • 相关阅读:
    记一次腾讯云服务器被黑
    mui学习笔记
    Maven(二)名词、命令、仓库、依赖、私服
    MySQL触发器
    SSL证书安装(Tomcat)腾讯云服务器
    Maven(一)简介安装
    HTML多图片压缩上传
    Gradle(一)安装配置
    dubbo本地服务化实现(dubbo三)
    Object is not a function
  • 原文地址:https://www.cnblogs.com/lyon91/p/9089858.html
Copyright © 2011-2022 走看看