2011-03-25 73 views
0

我必須編寫一個Java程序,該程序可創建汽車製造商,車型,車型年份和燃油效率等級表。插入幾輛車。打印平均燃油效率。使用CREATE TABLEINSERTSELECT AVG SQL命令。Java數據庫問題作業問題

這是一個家庭作業問題,我無法啓動。 這隻能在UNIX中完成,就像在unix shell中使用mysql並在我可以執行的shell中編寫java代碼一樣。我也想出瞭如何使用mysql在shell中創建表。我有JDBC驅動程序並在unix中訪問mysql。問題是,如何編寫連接到數據庫的代碼(我有一個URL,用戶名和密碼)。如果你可以幫助我的代碼,我將不勝感激。我運行的shell具有內置的JDBC驅動程序並可以使用。這就是我所做的,但我不確定它是如何做到的。

String userName = "user name"; 
String password = "user password"; 
String url = "jdbc:mysql://Hostname/DatabaseName"; 
Class.forName ("com.mysql.jdbc.Driver").newInstance(); 
conn = DriverManager.getConnection (url, userName, password); 

請幫助我通過一些代碼示例來解決這個問題。謝謝。

+5

[JDBC教程](http://download.oracle.com/javase /tutorial/jdbc/basics/index.html)。 – BalusC 2011-03-25 23:18:33

回答

2

JDBC教程很好,但你只需要5%的存儲空間,而過濾掉你需要的東西可能很難。視圖簡單的線條,應該讓你開始:

Class.forName(...); 
    Connection conn = DriverManager.getConnection(...); 
    Statement stat = conn.createStatement(); 

    stat.execute("create table test(id int primary key, name varchar(255))"); 
    stat.execute("insert into test values(1, 'Hello')"); 
    ResultSet rs; 
    rs = stat.executeQuery("select * from test"); 
    while (rs.next()) { 
     System.out.println(rs.getString("name")); 
    } 
    rs.close(); 
    stat.close(); 
    conn.close(); 

除此之外,你還需要PreparedStatement

PreparedStatement prep; 
    prep = conn.prepareStatement("insert into account(name) values(?)"); 
    prep.setString(1, "Joe"); 
    prep.execute(); 
    prep.close();