SSM关联码表的多个字段显示中文流程以及sql写法
场景描述:
实体Model中存放的是数字,
与数字对应的中文状态存放在码表中,
要关联码表在jsp页面来显示对应的中文状态。
码表字段:
要显示的效果:
代码思路:
1.编写Model类的扩展类,此扩展类要继承原来的Model类
public class BusUserDemandRefundAlterExt extends BusUserDemandRefundAlter {
2.在扩展Model中增加String类型的对应要关联码表显示的字段。
private String operationTypeName;private String auditStatusName;以及相应的set和get方法。
3.修改对应的action以及service的方法相应的返回类型为扩展的Model类。
PageResult<BusUserDemandRefundAlterExt> pageResult = PageUtil.pageSet(this.getClass(), pageSize, pageCurrent, orderField, orderDirection);pageResult=this.alterService.getPageResultInBackstage(pageResult);
4.编写mapper文件
除了用代码生成工具自动生成的mapper之外,在新增mapper的扩展包,在下面新建同名mapper文件.
在mapper文件中
resultMap要继承自动生成的mapper文件中的resultMap
<resultMap id="BaseExtResultMap"type="com.wongoing.bus.model.ext.BusUserDemandRefundAlterExt" extends="BaseResultMap"><result column="OperationTypeName" property="operationTypeName"jdbcType="VARCHAR" /><result column="AuditStatusName" property="auditStatusName"jdbcType="VARCHAR" />
要添加result映射,column要对应sql语句中关联查询的别名,property要对应扩展类的添加的属性名。
sql写法:
<select id="getRefundExtInBackstage" parameterType="java.util.Map"resultMap="BaseExtResultMap">select dra.*,buds.PassengerName ,sc.CodeName OperationTypeName,sc1.CodeName AuditStatusNamefrom bus_user_demand_refund_alter draleft join bus_user_demand_suborder buds on buds.id = dra.OriginalSubOrderIdleft join sys_code scon sc.CodeType="operationType"and sc.CodeValue = dra.OperationTypeleft join sys_code sc1on sc1.CodeType="auditStatus"and sc1.CodeValue = dra.auditStatuswhere dra.Auditor = 1
如果要关联一个表中的两个字段作为别名,可以left join 这个表两次 取两个别名,这个别名要和result中的column对应。
如果要关联的字段很多,还可以用这种写法:
SELECTo.*,bmg.MerchantName,bmg.startCityName,bmg.endCityName,buo.*,buo.DepositPrice AS OneDepositPrice,buo.OrderUserName SonOrderUserName,buo.OrderUserPhoneNum SonOrderUserName,(select sc.codeName from sys_code sc where o.GoodsType=sc.codeValue and codeType="goodsType") AS GoodsTypeName,(select sc.codeName from sys_code sc where o.FlightType=sc.codeValue and codeType="flightType") AS FlightTypeName, (select sc.codeName from sys_code sc where buo.OrderSonStatusId=sc.codeValue and codeType="orderSonStatus") AS OrderSonStatusName,(select sc.codeName from sys_code sc where o.OrderStatusId=sc.codeValue and codeType="orderMainStatus") AS OrderMainStatusName,(select sc.codeName from sys_code sc where o.DepositPayWay=sc.codeValue and codeType="payType") AS DepositPayWayName,(select sc.codeName from sys_code sc where o.TailMoneyPayWay=sc.codeValue and codeType="payType") AS TailMoneyPayWayName FROM bus_user_goodsorder oLEFT JOIN bus_merchant_goods bmg ON o.GoodsId = bmg.IdLEFT JOIN bus_user_goodsorderdetail buo ON buo.OrderId = o.IdWHERE 1=1
SSM关联码表的多个字段显示中文流程以及sql写法相关推荐
- 若依管理系统导出Excel时添加没有的列和关联码表显示中文进行导出
场景 在使用若依后台管理系统时对于单表会自动生成导出相关的接口. 此时如果直接进行导出会导出相应的实体类中添加了 @Excel注解的属性. 自动生成导出接口示例: @GetMapping(" ...
- mysql 筛选字段中文_MySql正则 查找筛选字段为中文的记录
在MySql中使用正则可以达到事半功倍的效果,在php,asp中都有正则表达式这一说那么mysql是怎么样的呢,下面我拿一个实例 查找筛选字段为中文的记录sql语句. 如,简单看示例,使用mysql筛 ...
- SSM查看详情功能逻辑代码以及关联码表显示
场景 在后台管理中,有些报表要显示的字段很多,当进入报表的主页面时,往往只显示部分重要的内容,然后在每一条记录的后面添加一个查看详情按钮,通过点击详情按钮,跳转到显示所有信息的页面. 有时一张报表中存 ...
- 在水晶报表中实现任意选择指定字段显示-模板及C#升级版
前文<在水晶报表中实现任意选择指定字段显示>中有朋友留言说是有无C#版本,最近有时间,重写了一下. 一是使用了VS2005 C#2.0 + Crystal Report 2008,另外就是 ...
- java动态字段排序_JAVA 列表动态增加字段显示和任意字段排序
需求是用户可以在页面管理展示的字段,并且对字段的展示顺序自定义排序,控制所有字段显示隐藏,表中有默认基础字段是不可以删除的 这边全部都是后端实现: 思路: 数据表设定一个字段专门存放动态字段,字段内容 ...
- 使用SMARTFORM字段参数设置解决SMARTFORM中数量、金额字段显示问题
在SMARTFORM中,数量和金额类型的字段在显示的时候会和其他字段不在同一个水平面上,解决的方法:&ITAB-MENGE(C)& ,下面是SMARTFORM字段参数设置的几个注意事 ...
- smartforms金额或者数量字段显示不出来
smartforms金额或者数量字段显示不出来
- SAP CRM WebClient UI搜索结果界面的扩展字段显示
SAP CRM WebClient UI搜索结果界面的扩展字段显示原理. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":
- kibana 更新 索引模式_Kibana对索引动态加字段显示
本文介绍Kibana对索引动态加字段显示.在实际业务数据存入Elasticsearch索引时会有一些枚举值,这些枚举值的意义不直观,也没必要在存索引时特意加一个用于显示的字段.这种场景只需在Kiban ...
最新文章
- hive环境搭建提示: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
- 关于WM_NCHITTEST消息(移动无标题对话框多个)
- leetcode算法题--最小的k个数
- 树形图,多层级目录等其他名称待补充……
- 237.删除链表中的节点
- python cnn入门_pytorch实现CNN卷积神经网络
- c语言国二题库及答案2017,全国计算机二级《C语言》考试题库与答案
- SEO原创助手-SEO免费原创助手工具自动分析网站排名
- 实体连锁电商会员运营方案
- 【零基础学Python】Day9 Python推导式
- linux启用dcb步骤,DCB文件擴展名: 它是什麼以及如何打開它?
- 修改idea运行内存大小
- MapReduce重点知识
- 优秀求职者应主动问的5个问题
- 使用 SVG 和 JS 创建一个由星形变心形的动画
- php select sum字段求和,Laravel 对某一列进行筛选然后求和sum()的例子
- 网络编程 TCP电子网络词库
- 【web前端---阿里巴巴矢量图图库图标引用步骤 】
- 软件宝宝系列——SQL注入篇
- 双显示器(集成显卡不能显示,但独立显卡可以)
热门文章
- Java后端架构开荒实战(一)——基础设施
- android 加载动画效果_这效果炸了,网易云音乐“宇宙尘埃”特效
- QT MSVC 中文报错
- centeos 6.7 mysql 5.7.12_学习centeos7系统 · cdwanze的博文
- mysql创建表时显示错误_MYSQL创建表出现错误 ERROR Code 1118如何解决
- 分类变量 哑变量矩阵 指标矩阵_不懂数据集重排序?分类变量转换苦难?4种python方法,不再难!...
- Git和GitHub使用教程
- c语言标量变量是什么,C语言中的结构和联合之间的区别
- python3.9出了吗_Python 3.9 正式版要来了,会有哪些新特性?
- pat乙级相当于什么水平_林书豪在CBA相当于什么水平的外援?