2016-10-05 2 views
0

У меня есть один класс POJO так:Looping в запросе вставки в mybatis

public class Pojo { 
    String a; 
    String b; 
    String c; 
    List<Integer> d; 
    public String getA() { 
     return a; 
    } 
    public void setA(String a) { 
     this.a = a; 
    } 
    public String getB() { 
     return b; 
    } 
    public void setB(String b) { 
     this.b = b; 
    } 
    public String getC() { 
     return c; 
    } 
    public void setC(String c) { 
     this.c = c; 
    } 
    public List<Integer> getD() { 
     return d; 
    } 
    public void setD(List<Integer> d) { 
     this.d = d; 
    } 

<insert id="insertPojoval" parameterType="com.Pojo"> 
insert into abc values(#{a},#{b},#{c},#{d},) 
</insert> 

Как я могу вставить этот Pojo значения в один вставной запрос с использованием mybatis?

Я хочу, чтобы для каждого значения в списке List<Integer> d значения a, b и c должны быть вставлены. Как я могу использовать цикл для каждого значения в List<Integer> d?

У меня возникает проблема при циклировании для каждого значения в списке d.

+0

Возможно, вы захотите пометить Java и mybatis, чтобы люди из этих сообществ могли обломаться. –

ответ

0

Вы можете использовать тег mybatis foreach, чтобы вставить как в коллекцию. Но я не уверен, что это то, что вы хотите или нет. См. Ниже ответ и надеюсь, что это поможет.

<insert id="insertPojoval" parameterType="com.Pojo"> 
     INSERT INTO 
      abc 
     VALUES 
      <foreach collection="list" item="d" index="index" open="(" separator="),(" close=")"> 
       #{a}, 
       #{b}, 
       #{c}, 
       #{d} 
      </foreach>  
</insert>