我是Java新手。
我如何从数据库检索数据并将其放在某个变量上。我考虑过数组,但是数据是各种类型的。数据的检索也使用了另一个类的方法。

我有使用ArrayList的提示,但是我不知道要使用它。对我有什么线索或建议吗?

这是主要方法:

class JavaAppsTes {
   public static void main(String[] args) {
      Database app = new Database();

      /* I don't know what to do here */
   }


这是数据库类:

public void getMenu() {
    String SQL = "SELECT * FROM menu ORDER by id_kategori";
    String nama, gambar;
    int id_menu, id_kategori, harga, persediaan;
    int count = 0;

    try (Connection conn = connect(); Statement stmt = conn.createStatement(); ResultSet cartRslt = stmt.executeQuery(SQL)) {
        while(cartRslt.next()) {
            id_menu = cartRslt.getInt("id_menu");
            id_kategori = cartRslt.getInt("id_kategori");
            harga = cartRslt.getInt("harga");
            persediaan = cartRslt.getInt("persediaan");
            nama = cartRslt.getString("nama");
            gambar = cartRslt.getString("gambar");
        }
    } catch (SQLException ex) {
        System.out.println(ex.getMessage());
    }
}


我如何将这些数据放入某物,以便前端可以使用检索到的数据?

顺便说一句,由于我有了有关ArrayList的线索,所以我创建了这样的菜单类:

public class Menu {
    private int id_menu;
    private int id_kategori;
    private String nama;
    private int harga;
    private int persediaan;
    private String gambar;

    public Menu(int id_menu, int id_kategori, String nama, int harga, int persediaan, String gambar) {
        this.id_menu = id_menu;
        this.id_kategori = id_kategori;
        this.nama = nama;
        this.harga = harga;
        this.persediaan = persediaan;
        this.gambar = gambar;
    }

    public int getid_menu(){
       return id_kategori;
    }

    public void setid_menu(int id_menu){
        this.id_menu = id_menu;
    }

    public int getid_kategori(){
       return id_kategori;
    }

    public void setid_kategori(int id_kategori){
        this.id_kategori = id_kategori;
    }

    public String getnama(){
        return nama;
    }

    public void setnama(String nama){
        this.nama = nama;
    }

    public int getharga(){
        return harga;
    }

    public void setharga(int harga){
        this.harga = harga;
    }

    public int getpersediaan(){
        return persediaan;
    }

    public void setpersediaan(int persediaan){
        this.persediaan = persediaan;
    }

    public String getgambar(){
        return gambar;
    }

    public void setgambar(String gambar){
        this.gambar = gambar;
    }
}

最佳答案

如果需要ArrayList在循环之前定义它,请添加每个菜单并在之后返回它。

public ArrayList<Menu> getMenu() {
String SQL = "SELECT * FROM menu ORDER by id_kategori";
String nama, gambar;
int id_menu, id_kategori, harga, persediaan;
int count = 0;
ArrayList<Menu> arr = new ArrayList<>();
try (Connection conn = connect();
Statement stmt = conn.createStatement();
ResultSet cartRslt = stmt.executeQuery(SQL)) {
    while(cartRslt.next()) {
        id_menu = cartRslt.getInt("id_menu");
        id_kategori = cartRslt.getInt("id_kategori");
        harga = cartRslt.getInt("harga");
        persediaan = cartRslt.getInt("persediaan");
        nama = cartRslt.getString("nama");
        gambar = cartRslt.getString("gambar");
       arr.add(new Menu(id_menu, id_kategori, nama, harga, persediaan, gambar));
 }
 }
return arr;
}

10-06 15:51
查看更多