0

我正在使用 Java 开发一个测验类型的应用程序。我正在考虑一个数据库来保存问题、他们的难度和 4 个多项选择项,也许还可以让用户在数据库中创建自己的问题供他们的朋友尝试。我编写的代码目前在我的 IDE 中运行:

public class Database {
    Connection conn=null;
    String url="jdbc:derby://localhost:1527/Millionaire";
    String username="luke";
    String password="bigwood";
    private ArrayList<String> arrayGot = new ArrayList<>();

    Database(){
        try {
        conn = DriverManager.getConnection(url, username, password);
        } 
        catch (Throwable ex) {
        System.err.println("SQL Exception: " + ex.getMessage());
        }
    }

    public ArrayList<String> getQuestions(int difficulty) throws SQLException{
        arrayGot.clear();
         Statement stmt = conn.createStatement( );
            String SQLCommand ="select * from LUKE.QUESTIONS where difficulty="+difficulty;
            ResultSet rs = stmt.executeQuery( SQLCommand );
            while(rs.next()){
                String question = rs.getString("Question");
                arrayGot.add(question);
                question = rs.getString("Answer1");
                arrayGot.add(question);
                question = rs.getString("Answer2");
                arrayGot.add(question);
                question = rs.getString("Answer3");
                arrayGot.add(question);
                question = rs.getString("Answer4");
                arrayGot.add(question);
            }

        return arrayGot;
    }
}

然而,我想知道的是有一种简单的方法可以在我的 IDE(NetBeans)之外进行这项工作。一旦建成,我希望数据库在 .jar 最终位于的任何计算机上都是可读和可写的。实现这一点的最佳方法是什么?

提前干杯,卢克。

4

3 回答 3

1

查看http://db.apache.org/derby/docs/10.8/devguide/cdevdvlp17453.html链接,它将向您展示如何将 Derby 设置为基于目录或类路径的 url

例如

jdbc:derby:C:/demo/sample
or
jdbc:derby:classpath:/myDB
于 2013-10-04T07:35:38.823 回答
1

您可以将 Derby 设置为以嵌入式模式运行,这将允许您独立于其他服务运行。请记住,您需要在代码中处理数据库表的初始化。

于 2013-10-04T07:36:01.350 回答
-1

连接示例代码

public static Connection Connect(){


try {

    Class.forName("oracle.jdbc.driver.OracleDriver");

} catch (ClassNotFoundException e) {

    System.out.println("Where is your Oracle JDBC Driver?");
    e.printStackTrace();
    return null;

}

System.out.println("Oracle JDBC Driver Registered!");

Connection connection = null;

try {

    connection = DriverManager.getConnection(
            "YOUR JDBC URL", "USERNAME",
            "PASSWORD");

} catch (SQLException e) {

    System.out.println("Connection Failed! Check output console");
    e.printStackTrace();
    return null;

}



return connection;

}

尝试使用您的数据库属性

于 2013-10-04T12:48:07.457 回答