[Java] JDBC 使用 MySQL ResultSet

練習 JDBC 使用 MySQL,將 SELECT * FROM table; 的結果存成 ResultSet ,然後將他一個個 .next() 取出來每一 row 的數據,再getInt() 或 getString()。 我的練習是有三個 table 分別為 player、weapon_list 和 armor_list,在 player 中每一筆資料是角色,有名字有等級有職業有武器和防具,而武器防具只存放 id,要連去另外兩個 table weapon_list 和 armor_list 用的。練習 SELECT * FROM player; 將每個角色的資料印出來時,本來的打算是 getInt(weapon_id) 用這個去別的 table 再 query 一次取名字出來(或更進一步取攻擊力防禦力之類的),像這樣: Connection connection = DriverManager.getConnection("...."); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery("SELECT * FROM player"); while(result.next()) { ResultSet weaponQuery = statement.executeQuery("SELECT name FROM weapon_list WHERE id=" + result.getInt("weapon_id")); String weaponTemp = weaponQuery.getString("name"); ResultSet armorQuery = statement.executeQuery("SELECT name FROM armor_list WHERE id=" + result.getInt("armor_id")); String armorTemp = armorQuery.getString("name"); ...