简体   繁体   English

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

[英]How to retrieve result set of a query from MySQL in java

I am already connected to my database: 我已经连接到我的数据库:

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?
}

This is the arraylist I want stored in that database: 这是我想要存储在该数据库中的arraylist:

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

And that has these objects stored in the arraylist: 并且这些对象存储在arraylist中:

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

What is the general code I need to use to get the arraylist to be stored in the MySQL database? 我需要使用什么通用代码来将arraylist存储在MySQL数据库中? What is the general code I need to use to get the arraylist out of the MySQL database? 我需要使用什么通用代码才能将arraylist从MySQL数据库中删除?

This is a template of what to use for retrieving & populating the Arraylist productList 这是用于检索和填充Arraylist productList

while (result.next()) {

    Product product = new Product();

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

    productList.add(product);
}

In the meantime, I invite you to have a look at: 在此期间,我邀请您来看看:

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

Your question is not very clear, but I am guessing that you want something like: 你的问题不是很清楚,但我猜你想要的东西是这样的:

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;

If you want to insert, then a select is not the way. 如果要插入,则选择不是方法。 What you need is something like 你需要的是什么

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM