科普:controller,service,serviceImpl,mapper,xml等几个文件的作用
来源: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等几个文件的作用相关推荐
- php lmpl,tjx-cold: 用于根据配置模板,快速生成controller,service,serviceimpl 代码
用于根据配置模板,快速生成controller,service,serviceimpl 代码(交流群 623169994 ) 为什么要开发这款插件 市面上有很多基于数据库生成代码的工具,但是我自己的工 ...
- idea中 mybatis 的 mapper.xml 新建没有 头文件
idea中 mybatis 的 mapper.xml 新建没有 头文件 解决步骤: 1.直接 settings 2.直接 选择 MybatisMapper 添加: <?xml version=& ...
- 案例 curd 实体 service serviceimpl mapper mapperimpl
增删改查 控制层 /*** 新增对账差错all*/ @PreAuthorize("@ss.hasPermi('pay:rpAccountCheckMistake:add')") ...
- 为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层
为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层? 为解决移植性问题而产生的套路 2005年以前的大多数项目都是直接在业务处理层的Ser ...
- springboot配置跨mapper.xml的全局变量
springboot配置跨mapper.xml的全局变量 有这样的需求,mybatis框架的mapper.xml,即映射文件里,如果需要配置一个全局变量,然后,在所有的mapper.xml里都能拿到使 ...
- MyBatis 配置映射Mapper.xml以及驼峰
记录关于获取不到user_name到userName的映射 在Mapper-config.xml中更改setting <settings><setting name="ma ...
- 一键生成controller、service、mapper、model、po
生成工具类类 package com.xxx.codegen;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ba ...
- 以新增用户为例子解释前后端整体连接方式详解(Service、Mapper、Controller、Entity)
目录 编辑 前端 1.点击新增用户按钮执行 handleAdd() 方法 2.添加用户表单校验:(这里明显是简介版本,还有很大的优化空间) 3.点击表单里的确 定按钮通过 submitForm() ...
- ServiceImpl或者Service引入mapper报红解决办法
ServiceImpl或者Service引入mapper报红解决办法 在IntelliJ IDEA编码时,使用ServiceImpl或者Service引入mapper报红, 提示: Could not ...
最新文章
- 计算机应用基础电子演示文稿系统行考作业,最新电大计算机应用基础形考PowerPoint答案...
- Gartner:2020 年 AI 平台魔力象限:意外多多
- bat给文件追加换行内容
- [翻译] - Inside SQL Server 2000's Memory Management Facilities
- UVA-11995(STL+模拟)附讲解
- 基于Xml 的IOC 容器-创建容器
- c语言指针自定义函数,c语言函数指针定义,指针函数和函数指针的区别
- 树莓派3b安装ubuntu mate(在有显示器前提下看)
- 国内交流电频率和电压的历史渊源
- Cloud一分钟 | 14万中国人基因大数据是否外泄?运营商发展大数据优势何在?
- Spring Boot html页面解析之jsoup
- 程序员必备的基本算法:递归详解
- Get!程序员成为高级管理者的三次跃升
- 浅析 golang module
- 雨松MOMO《Unity 3D游戏开发》源码公布
- 阿里云Linux服务器配置Java环境
- link服务器间网络通讯错误_LINK-服务器间网络通讯错误
- Switch分支判断学习心得
- html怎么改表格背景,javascript修改表格背景色实例代码分享
- 支付宝 alipay.fund.trans.uni.transfer(单笔转账接口)功能整合
热门文章
- 使用豆瓣源下载指定版本的tensorflow(附conda安装tensorflow全步骤)
- cdm 图片 转_PowerDesigner之CDM、PDM、SQL之间转换
- Visual Basic快捷教程——函数与子程序
- Windows更换苹方字体,刷新视界让视界瞬间清晰
- 大数据毕设 - 校园卡数据分析与可视化(python 大数据)
- 服务器磁盘显示RAW,高手解决u盘盘符打不开、变成RAW分区有妙招
- oracle不能打开新任务,virtualbox 不能为虚拟电脑打开一个新任务?
- 计算机学院元旦晚会主题名称,计算机学院形式多样精彩纷呈的元旦联欢晚会
- 小屏隐藏大屏幕显示css,CSS 侧边栏在小屏设备中进行隐藏
- 【视频格式】m3u8格式视频下载