Java数据库问题作业问题

时间:2011-03-25 23:08:26

标签: java mysql database

我必须编写一个Java程序来创建一个Car表,其中包含汽车制造商,型号,型号年份和燃油效率等级。插入几辆车。打印出平均燃油效率。使用CREATE TABLEINSERTSELECT AVG SQL命令。

这是一个我在开始时遇到麻烦的功课问题。 这必须仅在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);

请通过一些代码示例帮助我完成此操作。感谢。

1 个答案:

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