zoukankan      html  css  js  c++  java
  • mybatisplus的自定义sql使用方法及VO的使用

    1、根据sql的select查询语句字段来在VO包中创建对应的VO类

    例如sql语句:

    SELECT SUBSTRING_INDEX(CONCAT(SUBSTRING_INDEX(city,'',1),''),'',-1)as 'city',bod51 as 'inBod5',bod52 as 'outBod5' from (SELECT a.region as 'city',bod51,bod52 from sewage_plant a JOIN (select factory_name ,SUM(bod51)as 'bod51',SUM(bod52)as 'bod52' from report_form WHERE MONTH(report_time)=MONTH(CURDATE()) GROUP BY factory_name)b ON a.factory_name=b.factory_name)c

    我们可以看到select出来的字段被重命名as为新字段名。则新建类相应的属性名应与此字段名相同

    千万不要忘记@Data注解!!!!!!!!!!!!!!!!!!

    package com.project.sewageplant3.entity.vo;
    
    import lombok.Data;
    
    import java.math.BigDecimal;
    @Data
    public class StandardSituationVO {
        private String city;
        private BigDecimal inBod5;
        private BigDecimal outBod5;
    }

    2、在对应的mapper层中添加注解和方法

    @Repository
    public interface ReportFormMapper extends BaseMapper<ReportForm> {
              
              @Select("SELECT SUBSTRING_INDEX(CONCAT(SUBSTRING_INDEX(city,'市',1),'市'),'省',-1)as 'city',bod51 as 'inBod5',bod52 as 'outBod5' from (SELECT a.region as 'city',bod51,bod52 from sewage_plant a JOIN (select factory_name ,SUM(bod51)as 'bod51',SUM(bod52)as 'bod52' from report_form WHERE MONTH(report_time)=MONTH(CURDATE()) GROUP BY factory_name)b ON a.factory_name=b.factory_name)c")
              List<StandardSituationVO> standardSituationList();
    }

    3、在service层的抽象类和实现类中分别添加方法

    ①抽象类

    public List<StandardSituationVO> standardSituationList();

    ②抽象类的实现类(IDEA可以ctrl+o快捷添加方法)

    @Override
        public List<StandardSituationVO> standardSituationList() {
            return reportFormMapper.standardSituationList(); //返回接口的方法
        }

    4、最后在controller层中执行service层方法

    @GetMapping("/standardSituationList")
        public List<StandardSituationVO> StandardSituationList(){
            return reportFormService.standardSituationList();  //返回service层接口方法
        }
  • 相关阅读:
    iOS应用程序间共享数据(转)
    解决右滑返回手势和UIScrollView中的手势冲突(转)
    (转)iOS被开发者遗忘在角落的NSException-其实它很强大
    iOS 身份证最后一位是X,输入17位后自动补全X(转)
    springboot单机秒杀之queue队列
    springboot单机秒杀-aop+锁
    springbot单机秒杀,锁与事务之间的大坑
    spring-cloud学习之4.微服务请求打通
    spring-cloud学习之3.使用feign实现负载均衡
    spring-cloud学习之2.搭建请求网关spring-cloud-getway
  • 原文地址:https://www.cnblogs.com/Meng2113/p/13565299.html
Copyright © 2011-2022 走看看