来源:blog.csdn.net/congweijing/article/details/82499627

说明

最近一周都在写报表,样式很统一,上面是查询条件,下面是查询结果,页面如下图所示。由于要写很多报表,都是重复的工作,所以部门里的小哥哥在写了一个基于node的小程序,直接配置JSON文件,就可以生成报表模板,感觉很强(后面想学习一下)。

作为一个优秀的CV工程师(复制粘贴),我也没怎么写前端的工作,直接用生成的模板就好了,但是后台的查询我还是稍微走心的。由于JAVA基础不是很好,总结的可能出错,欢迎大家批评指正。

一、controller、service、serviceImpl、Mapper、Xml等文件的作用

下图为java约定俗成的几个文件的作用

二、在项目中的使用情况,由于业务逻辑很简单,所以每个文件中的代码行数都很少

controller.java

/*** 资产rim项目信息报表**/
@RequestMapping(value = "/hls/cus/rpt/rim/project/detail/query")
@ResponseBody
public ResponseData rptRimProjecrDetailQuery(@RequestBody Map map) {return new ResponseData(hlsCusRptRimProjectDetailService.rptRimProjectDetailQuery(map));
}

service.java

public interface HlsCusRptRimProjectDetailService extends IBaseService<HlsCusRptRimProjectDetail>,ProxySelf<HlsCusRptRimProjectDetailService> {List<Map> rptRimProjectDetailQuery(Map map);
}

serviceImpl.java

@Override
public List<Map> rptRimProjectDetailQuery(Map map) {int page = Integer.parseInt(String.valueOf(map.get("page")));int pageSize = Integer.parseInt(String.valueOf(map.get("pageSize")));PageHelper.startPage(page,pageSize);return hlsCusRptRimProjectDetailMapper.rptRimProjectDetailQuery(map);
}

mapper.java

public interface HlsCusRptRimProjectDetailMapper extends Mapper<HlsCusRptRimProjectDetail> {List<Map> rptRimProjectDetailQuery( Map<String, Object> map);// 资产rim表项目信息报表}

mapper.xml

<select id="rptRimProjectDetailQuery" resultMap="BaseResultMap">SELECTV.*,(case when V.REMAIN_PRINCIPAL > 0 then (V.REMAIN_PRINCIPAL - nvl((SELECT SUM(CCC.DUE_AMOUNT)FROM CON_CONTRACT_CASHFLOW CCCWHERE CCC.CONTRACT_ID = V.CONTRACT_IDAND CCC.CF_ITEM = 5),0)) else 0 end) as PROJECT_EXPOSUREFROM (SELECT--项目编号CC.PROJECT_CONTRACT_NUMBER PROJECT_NUMBER,-------------------------省略部分代码--------------------------- 项目核销申请日期(SELECT CCT.TERMINATION_DATEFROM CON_CONTRACT_TERMINATION CCTWHERE CCT.CONTRACT_ID = CC.CONTRACT_ID) TERMINATION_DATE,CC.BEFORE_RENT_FLAGFROM CON_CONTRACT CCLEFT JOIN PRJ_PROJECT PPON CC.PROJECT_ID = PP.PROJECT_IDWHEREcc.contract_status IN ('INCEPT', 'TERMINATE', 'ET')OR (CC.contract_status = 'SIGN' AND cc.before_rent_flag = 'Y')) V----------------下面写查询条件----------------------<where><if test="projectNumber !=null and projectNumber !=''">and v.project_number like concat(concat('%',#{projectNumber}),'%')</if><if test="businessType !=null and businessType.size() !=0">and v.business_type in<foreach item="item" index="index" collection="businessType" open="(" separator="," close=")">#{item}</foreach></if></where></select>

推荐好文

强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!

分享一套基于SpringBoot和Vue的企业级中后台开源项目,代码很规范!

能挣钱的,开源 SpringBoot 商城系统,功能超全,超漂亮

科普:controller,service,serviceImpl,mapper,xml等几个文件的作用相关推荐

  1. php lmpl,tjx-cold: 用于根据配置模板,快速生成controller,service,serviceimpl 代码

    用于根据配置模板,快速生成controller,service,serviceimpl 代码(交流群 623169994 ) 为什么要开发这款插件 市面上有很多基于数据库生成代码的工具,但是我自己的工 ...

  2. idea中 mybatis 的 mapper.xml 新建没有 头文件

    idea中 mybatis 的 mapper.xml 新建没有 头文件 解决步骤: 1.直接 settings 2.直接 选择 MybatisMapper 添加: <?xml version=& ...

  3. 案例 curd 实体 service serviceimpl mapper mapperimpl

    增删改查 控制层  /*** 新增对账差错all*/ @PreAuthorize("@ss.hasPermi('pay:rpAccountCheckMistake:add')") ...

  4. 为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层

    为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层? 为解决移植性问题而产生的套路 2005年以前的大多数项目都是直接在业务处理层的Ser ...

  5. springboot配置跨mapper.xml的全局变量

    springboot配置跨mapper.xml的全局变量 有这样的需求,mybatis框架的mapper.xml,即映射文件里,如果需要配置一个全局变量,然后,在所有的mapper.xml里都能拿到使 ...

  6. MyBatis 配置映射Mapper.xml以及驼峰

    记录关于获取不到user_name到userName的映射 在Mapper-config.xml中更改setting <settings><setting name="ma ...

  7. 一键生成controller、service、mapper、model、po

    生成工具类类 package com.xxx.codegen;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ba ...

  8. 以新增用户为例子解释前后端整体连接方式详解(Service、Mapper、Controller、Entity)

    目录 ​编辑 前端 1.点击新增用户按钮执行 handleAdd() 方法 2.添加用户表单校验:(这里明显是简介版本,还有很大的优化空间) 3.点击表单里的确 定按钮通过 submitForm() ...

  9. ServiceImpl或者Service引入mapper报红解决办法

    ServiceImpl或者Service引入mapper报红解决办法 在IntelliJ IDEA编码时,使用ServiceImpl或者Service引入mapper报红, 提示: Could not ...

最新文章

  1. 计算机应用基础电子演示文稿系统行考作业,最新电大计算机应用基础形考PowerPoint答案...
  2. Gartner:2020 年 AI 平台魔力象限:意外多多
  3. bat给文件追加换行内容
  4. [翻译] - Inside SQL Server 2000's Memory Management Facilities
  5. UVA-11995(STL+模拟)附讲解
  6. 基于Xml 的IOC 容器-创建容器
  7. c语言指针自定义函数,c语言函数指针定义,指针函数和函数指针的区别
  8. 树莓派3b安装ubuntu mate(在有显示器前提下看)
  9. 国内交流电频率和电压的历史渊源
  10. Cloud一分钟 | 14万中国人基因大数据是否外泄?运营商发展大数据优势何在?
  11. Spring Boot html页面解析之jsoup
  12. 程序员必备的基本算法:递归详解
  13. Get!程序员成为高级管理者的三次跃升
  14. 浅析 golang module
  15. 雨松MOMO《Unity 3D游戏开发》源码公布
  16. 阿里云Linux服务器配置Java环境
  17. link服务器间网络通讯错误_LINK-服务器间网络通讯错误
  18. Switch分支判断学习心得
  19. html怎么改表格背景,javascript修改表格背景色实例代码分享
  20. 支付宝 alipay.fund.trans.uni.transfer(单笔转账接口)功能整合

热门文章

  1. 使用豆瓣源下载指定版本的tensorflow(附conda安装tensorflow全步骤)
  2. cdm 图片 转_PowerDesigner之CDM、PDM、SQL之间转换
  3. Visual Basic快捷教程——函数与子程序
  4. Windows更换苹方字体,刷新视界让视界瞬间清晰
  5. 大数据毕设 - 校园卡数据分析与可视化(python 大数据)
  6. 服务器磁盘显示RAW,高手解决u盘盘符打不开、变成RAW分区有妙招
  7. oracle不能打开新任务,virtualbox 不能为虚拟电脑打开一个新任务?
  8. 计算机学院元旦晚会主题名称,计算机学院形式多样精彩纷呈的元旦联欢晚会
  9. 小屏隐藏大屏幕显示css,CSS 侧边栏在小屏设备中进行隐藏
  10. 【视频格式】m3u8格式视频下载