Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySql HashMap保存3个值_Java_Mysql - Fatal编程技术网

Java MySql HashMap保存3个值

Java MySql HashMap保存3个值,java,mysql,Java,Mysql,嘿!我正在开发我的JavaMySQL应用程序,我需要将有关膳食的数据保存在服务器上的数据库中,以便以后在combobox中显示。用户将在组合框中选择他想要的食物,当他按下“确认”按钮时,它将执行关于他的订单的查询。 因此,基本上,我的服务器数据库表中的每顿饭(行)都由id_categorija(id_kategorija)、id_餐(id_jela)、id_餐的名称(naziv_jela)组成。我应该为此使用HashMap吗?如果可能的话,如何将所有数据保存在一个哈希映射中,以便以后可以使用该哈

嘿!我正在开发我的JavaMySQL应用程序,我需要将有关膳食的数据保存在服务器上的数据库中,以便以后在combobox中显示。用户将在组合框中选择他想要的食物,当他按下“确认”按钮时,它将执行关于他的订单的查询。 因此,基本上,我的服务器数据库表中的每顿饭(行)都由id_categorija(id_kategorija)、id_餐(id_jela)、id_餐的名称(naziv_jela)组成。我应该为此使用HashMap吗?如果可能的话,如何将所有数据保存在一个哈希映射中,以便以后可以使用该哈希映射轻松地进行查询

以下是我的膳食数据库表的图片:

这是我的密码:

String queryZaJela;
Map <Integer,String>PopisJela = new HashMap<Integer, String>();
try {

        queryZaJela="SELECT id_kategorija, naziv_hrane FROM `naziv_jela`";

        Class.forName("com.mysql.jdbc.Driver");
        Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://"
                + "localhost:3306/room_service", "root", "");
        Statement Stat = (Statement) con.createStatement();
        ResultSet Rez = Stat.executeQuery(queryZaJela);

        while (Rez.next()) { 

            PopisJela.put(Rez.getInt("id_kategorija"), Rez.getString("naziv_hrane") );
        } 
        PopisJela.put(0,"Select");

            Rez.close();
            Stat.close();
            con.close();

    } catch (Exception e) {
        System.out.println(e);
    }
字符串queryZaJela;
Map PopisJela=新HashMap();
试一试{
queryZaJela=“从“naziv_jela”中选择id_kategorija、naziv_hrane”;
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=(Connection)DriverManager.getConnection(“jdbc:mysql://”
+“本地主机:3306/room_服务”、“根目录”、“根目录”);
语句Stat=(语句)con.createStatement();
结果集Rez=Stat.executeQuery(queryZaJela);
while(Rez.next()){
PopisJela.put(Rez.getInt(“id_kategorija”)、Rez.getString(“naziv_hran”);
} 
PopisJela.put(0,“选择”);
Rez.close();
Stat.close();
con.close();
}捕获(例外e){
系统输出打印ln(e);
}

我可以建议您使用一个小类来保存数据库中的所有3个值,并根据您将来的查询,将对象放在该类的
id_jela
id_kategorija

public class mealStruct {
  public int id_kategorija;
  public int id_jela;
  public string naziv_hrane;
}
当您从数据库中读取数据时,为MeasStruct类创建一个对象,并根据需要的id将其放入映射中

//here is the HashMap of id_kategorija/id_jela and mealStruct. 
//Keep filling hashMap with id and the object. when the user selects a meal from combo,
//get the id and access the object from mealStruct and get all 3 values to use in query.
<Integer,String>PopisJela = new HashMap<Integer, mealStruct>();
//这是id_kategorija/id_jela和mealStruct的HashMap。
//继续用id和对象填充hashMap。当用户从combo中选择一顿饭时,
//从mealStruct获取id并访问对象,然后获取查询中要使用的所有3个值。
PopisJela=新HashMap();

组合框需要显示项目列表。HashMap是一个字典(每个键一个值)。既然组合框需要列表,为什么不使用列表呢?此外,请遵守Java命名约定。