日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSM关联码表的多个字段显示中文流程以及sql写法

發布時間:2025/3/19 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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写法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。