Comment insérer une Liste <Produits> dans la base de données

Je suis nouveau sur Java. J'ai créé une liste générique des Produits de type ,comment puis-je l'ajouter dans la base de données. La liste contient des objets de Produits, et des colonnes dans la base de données sont des champs de Produits de classe. Même si j'ai séparé la liste par listvariable.get(0) et ainsi de suite, je reçois l'objet, pas les valeurs à l'intérieur des objets.

Mise à JOUR : Inséré à l'aide de la boucle et l'obtention de champs pour chaque objets. Est-il une meilleure façon

import java.util.*;
public class Products {
public static List <Products> li  = new ArrayList<Products> ();
static 
{
Products o = new Products (1,"Milky Way",12.0,7);   //Static because  
Products o1 = new Products (2,"Dairy Milk",50.0,17); //these entries 
Products o2 = new Products (3,"Borunville",70.0,27);  //are mandatory
Products o3 = new Products (4,"Lindt",1022.0,107);
li.add(o);
li.add(o1);
li.add(o2);
li.add(o3);
}
int ItemCode;
String ItemName;
double UnitPrice;
int AvailableCount; 
public int v=3;
Products()
{}
Products (int x,String y, double c, int d)
{
ItemCode=x;
ItemName=y;
UnitPrice=c;
AvailableCount=d;
}
public String toString ()       
{
return (  ItemName+" "+ ItemCode +" "+ UnitPrice + " "+ AvailableCount);
}
void addProduct()
{
li.add(this);
}
public List <Products> initProducts()       
{                   return li;
}
}
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Iterator;
public class Shopowner {
public static void main (String ...args)
{ 
Products o = new Products(6,"Eclairs",12.33,5);
o.addProduct();
System.out.println(new Products().initProducts());
try
{
Connectivity.establishConnection(); //static method for db url and drivers
for (int i =0;i<4;i++)
{
Products x=Products.li.get(i);
String name=x.ItemName;
int id= x.ItemCode;
int count =x.AvailableCount;
double price = x.UnitPrice;
PreparedStatement stm = Connectivity.con.prepareStatement("insert into Products_tbl values (?,?,?,?)");
stm.setInt(1, id);
stm.setString(2, name);
stm.setDouble(3,price);
stm.setInt(4, count);
stm.executeUpdate();
}
}
catch(Exception e)
{e.printStackTrace();}  
//System.out.println(new Products().li);
}
}
  • Je peux voir 3 questions. 1) Comment insérer 2) Comment faire pour obtenir les valeurs et 3) Comment améliorer le code (et qu'entendez-vous par là?) Peut-être vous devriez juste de résoudre un problème à la fois.
  • Je peux obtenir des valeurs de la liste, l'impression des objets et des cours d'équitation méthode toString suffirait. Ma question est de savoir comment insérer la liste dans la base de données. Et il ne fait jamais de mal à obtenir quelques bonnes suggestions de personnes qui ont de l'expérience 🙂
  • Ma première suggestion serait de créer getItemCode() etc des méthodes qui renvoient les valeurs de chaque Products objet. Jetez un oeil à cet exemple: docs.oracle.com/javaee/6/tutorial/doc/gjbbp.html
  • La JPA (Java Persistence API) est utilisé pour conserver les objets dans une base de données. Son aussi beau api qui fait beaucoup de travail pour vous. Vos objets (Produits et Shopowner) carte directement à la base de données. Si votre getters et setters peut être utilisé pour obtenir et définir des objets dans la base de données. Check it out
  • PreparedStatement stm = Connectivité.con.prepareStatement("insert into Products_tbl valeurs (?,?,?,?)"); peut être déplacé à l'extérieur de la boucle
InformationsquelleAutor Malwaregeek | 2013-08-08