求教 Mybatis 一个数据库查询问题

2019-08-07 14:10:12 +08:00
 zmz980126

是这样子的,需求要 A 表的信息,A 除了一些其他字段,有(varchar)A.belong_type,(int)A.belong 字段,有 N1,N2,N3 比方说这三个表(可以认为这三个表都只有 id,name 字段),要通过 belong_type 的值"1","2","3"决定哪个表(N1,N2,N3)使 A.belong=Nx.id 得到 name 字段 有什么效率比较高的实现方式吗? 我自己是先 select 了一遍 A,然后通过那两个字段又 select 了一遍 Nx,但感觉效率太差了,而且 Nx 的条目一多就会很慢 我也不知道设计数据库的那位为啥没给 Nx 设计 type 字段 以及<if text="xxx"> 标签只能接受外部参数吗?不可以是查询的字段吗</if>

4024 次点击
所在节点    MySQL
7 条回复
x7395759
2019-08-07 14:24:13 +08:00
<if text="xxx">这个标签是 Mybatis 的不是 SQL 的,所以不行

然后 case when 是不是可以解决这个问题?
huangdaxian
2019-08-07 14:44:05 +08:00
Left join 里面 on 加条件?
zilaijuan
2019-08-07 15:03:52 +08:00
借楼问一下,怎么配 mybatis generator 才能在 mapper 里生成批量插入的方法?搜了半天没搜到。。。
gz911122
2019-08-07 15:10:47 +08:00
case when 不就完事了
ColoThor
2019-08-07 17:45:30 +08:00
union ?
zmz980126
2019-08-08 09:24:53 +08:00
case when 可以决定连哪个表?
zmz980126
2019-08-08 09:27:53 +08:00
我好像明白了

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

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

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

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

© 2021 V2EX