Проблема с домашним заданием в вопросе базы данных Java - PullRequest
0 голосов
/ 26 марта 2011

Мне нужно написать программу на Java, которая создает таблицу Car с производителями автомобилей, моделями, моделями и рейтингом эффективности использования топлива. Вставьте несколько машин. Распечатайте среднюю эффективность использования топлива. Используйте команды CREATE TABLE, INSERT и SELECT AVG SQL.

Это домашний вопрос, у меня проблемы с запуском. Это должно быть сделано исключительно в UNIX, подобно использованию mysql в оболочке unix и написанию java-кода в оболочке, что я могу сделать. Я также выяснил, как создавать таблицы в оболочке, используя mysql. У меня есть драйвер JDBC и доступ к MySQL в Unix. Проблема в том, как написать код для подключения к базе данных (у меня есть URL, имя пользователя и пароль). Если бы вы могли помочь мне с кодом, я был бы очень признателен. Оболочка, на которой я работаю, имеет встроенный и готовый к использованию драйвер 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 Ответ

2 голосов
/ 26 марта 2011

Учебник по 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...