我想传递相同的ajax属性

时间:2014-03-21 03:00:07

标签: mysql sql ajax properties mybatis

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结果我想要的那样'的结果?

1 个答案:

答案 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