Java向数据库添加列表
所以我有一个Product.java类:Java向数据库添加列表,java,sql,Java,Sql,所以我有一个Product.java类: Public class Product{ private String id; private String name; private float price; } 我有一个从数据库获取数据的产品列表: public List<Product> getProductList() { List<Product> list = new ArrayList<Product>(); String sql
Public class Product{
private String id;
private String name;
private float price;
}
我有一个从数据库获取数据的产品列表:
public List<Product> getProductList() {
List<Product> list = new ArrayList<Product>();
String sql = "SELECT * FROM Product";
try {
Statement st = getConnection().createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
String id = rs.getString(1);
String name = rs.getString(3);
float price = rs.getFloat(4);
Product p = new Product();
p.setId(id);
p.setName(name);
p.setPrice(price);
list.add(p);
}
rs.close();
st.close();
} catch (SQLException ex) {
Logger.getLogger(DataProcess.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
公共列表getProductList(){
列表=新的ArrayList();
String sql=“从产品中选择*”;
试一试{
语句st=getConnection().createStatement();
结果集rs=st.executeQuery(sql);
while(rs.next()){
字符串id=rs.getString(1);
字符串名称=rs.getString(3);
浮动价格=rs.getFloat(4);
产品p=新产品();
p、 setId(id);
p、 集合名(名称);
p、 设定价格(价格);
增加(p);
}
rs.close();
圣克洛斯();
}catch(SQLException-ex){
Logger.getLogger(DataProcess.class.getName()).log(Level.SEVERE,null,ex);
}
退货清单;
}
我将一些产品添加到另一个列表中,现在我想将该列表添加回数据库中的Seld表中,但我只知道如何将一个产品项添加到数据库中,而不知道如何将整个列表添加到数据库中。是否有向数据库添加列表的方法?这可以通过PreparedStatement的addBatch()和executeBatch()方法实现,另一个答案演示了这一点: 这是前面两个答案的混合:
PreparedStatement ps = c.prepareStatement("INSERT INTO employees VALUES (?, ?)");
ps.setString(1, "John");
ps.setString(2,"Doe");
ps.addBatch();
ps.clearParameters();
ps.setString(1, "Dave");
ps.setString(2,"Smith");
ps.addBatch();
ps.clearParameters();
int[] results = ps.executeBatch();
资料来源:
在本例中,您需要设置必要的参数,然后在列表上循环的每次迭代中调用addBatch(),然后在循环调用executeBatch()之后调用
如果数据库对批处理设置了限制,并且没有在其JDBC驱动程序中跨父处理这些限制,那么您可能希望在循环中在一定数量的项之后调用executeBatch()