我想将我的游戏中的高分保存到数据库而不是.dat文件中,并且希望有人能给我一些帮助,告诉我如何做到这一点。
我已经为数据库创建了类,我只是不确定如何实现高分数来保存在数据库中。
public class ScoreDB {
Connection conn = null;
String url = "jdbc:derby:ScoresDB;create=true";
String username = "hello";
String pass = "hello";
public void connectScoreDB(){
try{
conn= DriverManager.getConnection(url,username,pass);
}catch(SQLException ex){
System.err.println("SQLException: " + ex.getMessage());
}
}
答案 0 :(得分:3)
您可以按照以下方式执行
public void Add(int highScore) throws SQLException {
String query = "INSERT INTO ScoresDB VALUES(highScore)";
try (Statement stmt = getConn().createStatement()) {
stmt.executeUpdate(query);
}
}
我不知道你的表中有多少字段,但如果你想在一般情况下使用INSERT命令,你应该遵循这个
INSERT INTO table_name VALUES (value1,value2,value3,...);
注意:您的ScoresDB有一个高分的文件
第二种方法是使用PreparedStatement
例如:
public void Add(int highScore){
String sql = "INSERT INTO ScoresDB (highScore) VALUES (?)";
try (PreparedStatement ps = getConn().prepareCall(sql)) {
ps.setString(1, highScore);
ps.executeUpdate();
}
}
要了解using statement和preparedstatement之间的区别,你也应该看一下这个链接。 Difference between Statement and PreparedStatement
答案 1 :(得分:2)
最简单的方法是使用SQL。 Oracle在组合Oracle中提供了很好的示例。另外,您需要一些关于SQL的知识,一个很好的起点是W3Schools。 Alterantive方法是使用OR方法而不是Hibernate或EclipseLink等。 Hibernate
使用上面的链接。我强烈建议您至少阅读Oracle链接。
SQL部分非常简单:
1)您需要创建一个包含所需Highscore信息的表。 Create Table - W3Schools
2)您需要创建条目 Insert entries - W3Schhols
3)阅读条目/高分 SELECT - W3Schhols