在Java JDBC中将高分保存到数据库中

时间:2014-05-25 20:12:48

标签: java mysql jdbc

我想将我的游戏中的高分保存到数据库而不是.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());
        }
    }

2 个答案:

答案 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