MyBatis的
select id =“selectPlur”parameterType =“map”resultMap =“elementResultMap”
$ {sql}
/选择
MySQL的
select * from(select * from ELEMENT where I_NO = 1)T1
内连接(从ELEMENT中选择*,其中I_NO = 3)T2使用(G_NO)
内连接(从ELEMENT中选择*,其中I_NO = 5)T3使用(G_NO)
mysql数据结果
G_NO | I_NO | I_REQ | I_NO | I_REQ | I_NO | I_REQ |
1 | 1 | 10 | 3 | 20 | 5 | 1 |
4 | 1 | 100 | 3 | 10 | 5 | 1 |
ajax结果
[0]“gNo”:1
“iNo”:1 “iReq”:10
[1]“gNo”:4
“iNo”:1 “iReq”:100
ajax结果我想要什么
[0]“gNo”:1
“iNo”:1 “iReq”:10
“iNo”:3
“iReq”:20
“iNo”:5
“iReq”:1 [1]“gNo”:4
“iNo”:1 “iReq”:100
“iNo”:3
“iReq”:10
“iNo”:5
“iReq”:1
在mySQL中,我执行'mysql'语句并返回我想要的'mysql数据结果' 但我正在使用带有日食的mybatis 因为属性名称,结果只有一个“iNo”和“iReq”就像'ajax结果' 我怎样才能得到像'ajax结果我想要的那样'的结果?
答案 0 :(得分:0)
您无法直接执行此操作,因为大多数JSON实现do not support重复键。
您可能需要更改返回客户端的数据的结构,例如重命名列,如下所示:
select G_NO, T1.I_NO AS T1_I_NO, T1.I_REQ AS T1_I_REQ,
T2.I_NO AS T2_I_NO, T2.I_REQ AS T2_I_REQ,
T3.I_NO AS T3_I_NO, T3.I_REQ AS T3_I_REQ
from (select * from ELEMENT where I_NO=1) T1
inner join (select * from ELEMENT where I_NO=3) T2 using (G_NO)
inner join ( select * from ELEMENT where I_NO=5) T3 using (G_NO)
在这种情况下,结果将是
[0]"gNo": 1
"t1INo": 1
"t1IReq": 10
"t2INo": 3
"t2IReq": 20
"t3INo": 5
"t3IReq": 1
[1]"gNo": 4
"t1INo": 1
"t1IReq": 100
"t2INo": 3
"t2IReq": 10
"t3INo": 5
"t3IReq": 1