如何在java中从MySQL检索查询的结果集

时间:2012-08-07 23:39:06

标签: java mysql eclipse arraylist

我已连接到我的数据库:

Connection con = DriverManager.getConnection(
    "jdbc:mysql://instance23389.db.xeround.com:15296/Inventory","user","password");
PreparedStatement Statement = con.prepareStatement("Select * from inventory");
ResultSet result = Statement.executeQuery();
while(result.next()) {
    //What to put here?
}

这是我想要存储在该数据库中的arraylist:

static ArrayList<Product> Chart=new ArrayList<Product>();

并且这些对象存储在arraylist中:

double Total;
String name;
double quantity;
String unit;
double ProductPrice;

我需要使用哪些通用代码才能将arraylist存储在MySQL数据库中? 我需要使用什么通用代码才能将arraylist从MySQL数据库中删除?

3 个答案:

答案 0 :(得分:11)

这是一个用于检索&amp;的模板。填充Arraylist productList

while (result.next()) {

    Product product = new Product();

    product.setTotal(result.getDouble("Total"));
    product.setName(result.getString("Name"));
    // etc.

    productList.add(product);
}

与此同时,我邀请您查看:

http://www.jdbc-tutorial.com/

答案 1 :(得分:3)

你的问题不是很清楚,但我猜你想要的东西是:

List<Product> products = new ArrayList<Product>();

String host = "instance23389.db.xeround.com";
int port = 15296;
String dbName = "Inventory";
String url = "jdbc:mysql://" + host + ":" + port + "/" + dbName;

Connection con = null;
PreparedStatement stmt = null;

try {

  con = DriverManager.getConnection(url, "user","password");
  stmt = con.prepareStatement("select * from inventory");
  ResultSet result = stmt.executeQuery();
  while(result.next()) {
    Product prod = new Product();
    prod.setTotal(result.getDouble("total"));
    prod.setName(result.getString("name"));
    prod.setQuantity(result.getDouble("quantity"));
    prod.setUnit(result.getString("unit"));
    prod.setProductPrice(result.getDouble("product_price"));
    products.add(prod);
  }
} finally {
  if (stmt != null) {
    try { 
      stmt.close();
    } catch (SQLException ex) {
    }
  }
  if (con != null) {
    try { 
      con.close();
    } catch (SQLException ex) {
    }
  }
}
return products;

答案 2 :(得分:1)

如果要插入,则选择不是方法。你需要的是像

Statement statement = conn.createStatement();
statement.executeUpdate("INSERT INTO Customers " + "VALUES (1001, 'Simpson', 'Mr.', 'Springfield', 2001)");