Mybatis
选择id =“ selectPlur” parameterType =“ map” resultMap =“ elementResultMap”
$ {sql}
/选择
MySQL的
从*中选择*(从I_NO = 1的ELEMENT中选择*)
内部联接(从I_NO = 3的ELEMENT中选择*)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 |
阿贾克斯结果
[0]“ gNo”:1
“ iNo”:1
“ iReq”:10
[1]“ gNo”:4
“ iNo”:1
“ iReq”:100
阿贾克斯结果是我想要的
[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 result”
如何获得“我想要的ajax结果”之类的结果?
最佳答案
您不能直接执行此操作,因为大多数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