持久性Java数据库

时间:2013-10-04 07:32:16

标签: java jdbc

我正在研究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最终的任何计算机上都是可读写的。实现这个的最佳方法是什么?

提前干杯, 路加。

3 个答案:

答案 0 :(得分:1)

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

e.g。

jdbc:derby:C:/demo/sample
or
jdbc:derby:classpath:/myDB

答案 1 :(得分:1)

您可以将Derby设置为在embedded mode中运行,这样您就可以独立于其他服务运行。请记住,您需要在代码中处理数据库表的初始化。

答案 2 :(得分:-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;

}

尝试使用您的数据库属性