基于 mybatis (和 mybatis plus) 能否实现在给 POJO 中的字段注入查到的值后,立刻去做另外一件事?

2023-10-20 11:24:56 +08:00
 BraveXaiver
比如受限于之前设计的不完善,交易的状态列只有 char(1),现在希望在 POJO 中增加一个 trxnDetailedStatus 字段,是对单个字符的交易字段的详细描述。比如 A 代表已批准,P 代表等待批准。

我们的 java 程序使用 mybatis 和 mybatis plus ,希望能做到从数据库取出这条记录生成 POJO 时,在 trxnStatus 字段被填入 "A" 后,就实现为 trxnDetailedStatus 字段填入“Approved”

谢谢!
842 次点击
所在节点    数据库
10 条回复
wetalk
2023-10-20 11:33:39 +08:00
类似表内字段联动吧,写个拦截器咯,plus 中没见过类似用途的工具
28Sv0ngQfIE7Yloe
2023-10-20 11:37:06 +08:00
只用过 插入和更新填充,不知道 select 时能不能填充
lalawu
2023-10-20 11:39:50 +08:00
typeHandler ?
InkAndBanner
2023-10-20 13:34:28 +08:00
楼上正解
BraveXaiver
2023-10-20 13:52:27 +08:00
@Morii 能介绍下思路吗?

@lalawu
@InkAndBanner typeHandler 针对 String 到 String 的转换也好用吗?打击面会不会太广泛了呀。。
qluuu
2023-10-20 13:59:05 +08:00
要不直接重写下 trxnStatus set 方法 同时给 trxnDetailedStatus 赋值
L0L
2023-10-20 14:06:06 +08:00
@BraveXaiver 不一刀切,注解配合 pojo 类玩一波?办法总比问题多
xlzyxxn
2023-10-20 14:18:15 +08:00
简单的话就 6 楼这样直接写就完了
ssrfw
2023-10-20 14:46:22 +08:00
六楼方法最简单 设置 po 的时候 是调用的 set 方法
nerkeler
2023-10-20 17:35:14 +08:00
select case trxnStatus when 'A' then “Approved” when 'P' then ... end trxnDetailedStatus

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/983734

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX