2016-07-03 2 views
0

У меня есть 4 arraylists я хочу, чтобы добавить значения списков в базе данныхвставки значения ArrayList в к базе данных

ordername="ordername1, ordername2"; 
orderprice="orderprice1, orderprice2"; 
ordertime="ordertime1, ordertime2"; 
orderquantity="orderquantity1, orderquantity2"; 

Теперь я хочу, чтобы добавить ordername1 в 1-й строке ordername колонке и ordername2 в 2-м ряду из столбца ordername и т. д. для других списков.

будет 4 колонки

каждый элемент будет вставить в каждой строке.

и некоторые переменные

как специальная инструкция, таблица нет и имя официанта они также будут вставлены в базе данных вместе со списками

------------------------------------------------------------------------------ 
    |ordername | orderprice | ordertime | orderquantity | specinst |tableNo| wname 
    ------------------------------------------------------------------------------ 
    |ordername1| orderprice1|ordertime1 |orderquantity1 | spicy | 1 | john| 
    |ordername2| orderprice2|ordertime2 |orderquantity2 | not spicy| 2  |alice| 
    ------------------------------------------------------------------------------ 
+1

Хорошо удач с что. Может быть, есть проблема, с которой вы столкнулись, о чем вы хотите рассказать? –

ответ

0

я решил моя проблема сама, код

for (int i=0; i<nameList.size() && i<priceList.size() && i<timeList.size() && i<quantityList.size(); i++){ 

     Class.forName("com.mysql.jdbc.Driver"); 
     con = DriverManager.getConnection(url, uname, pass); 

     stmt = con.createStatement(); 
     String sql = "insert into currentorders (ordername, orderprice, ordertime, orderquantity, specInst, tableNo, wname) VALUES ('"+nameList.get(i)+"', '"+priceList.get(i)+"', '"+timeList.get(i)+"','"+quantityList.get(i)+"','"+specialInst+"','"+tableNo+"','"+waitername+"')"; 

     int count = stmt.executeUpdate(sql); 
      if(count == 1){ 

    System.out.println("enteredd"); 
    //else return "not entered"; 
     } 
     else { 
    System.out.println("not enteredd"); 
     } 


    } 

этого код работает для ввода 4 списков и баз данных,

Примечания: мой все списки размер равен, так вот почему я итерировать все списки в один цикл

0

Это должно помочь:

import java.util.*; 
import static java.util.Arrays.asList; 

public class Zipper { 
    public static Iterator<Object[]> zip(Iterable<? extends Object> first, Iterable<? extends Object>...rest) { 
     final Iterator<? extends Object> firstIterator = first.iterator(); 
     final List<Iterator<? extends Object>> restIterators = extractIterators(rest); 

     return new Iterator<Object[]>() { 
      public boolean hasNext() { 
       return firstIterator.hasNext(); 
      } 

      public Object[] next() { 
       List<Object> result = new ArrayList<Object>(restIterators.size() + 1); 
       result.add(firstIterator.next()); 
       result.addAll(collectResultsFromRest(restIterators)); 
       return result.toArray(); 
      } 

      public void remove() { 
       throw new UnsupportedOperationException(); 
      } 
     }; 
    } 

    private static Collection<Object> collectResultsFromRest(List<Iterator<?>> iterators) { 
     List<Object> result = new ArrayList<Object>(); 

     for (Iterator<?> iter : iterators) 
      if (iter.hasNext()) result.add(iter.next()); 
      else result.add(null); 

     return result; 
    } 

    private static List<Iterator<? extends Object>> extractIterators(Iterable<?>[] rest) { 
     List<Iterator<? extends Object>> result = new ArrayList<Iterator<? extends Object>>(rest.length); 
     for (Iterable<?> it : rest) 
      result.add(it.iterator()); 

     return result; 
    } 

    public static void main(String[] args) { 
     List<String> ordername = asList("ordername1, ordername2".split(",\\s+")); 
     List<String> orderprice= asList("orderprice1, orderprice2".split(",\\s+")); 
     List<String> ordertime= asList("ordertime1, ordertime2".split(",\\s+")); 
     List<String> orderquantity=asList("orderquantity1, orderquantity2".split(",\\s+")); 


     Iterator<Object[]> zip = Zipper.zip(ordername, orderprice, ordertime, orderquantity); 

     while (zip.hasNext()) { 
      Object[] row = zip.next(); 
      // here you add code for saving to database 
      // for this example we are just printing results to console 
      System.out.println(Arrays.toString(row)); 
     } 
    } 

} 
Смежные вопросы