あなたはそれを正しく聞いた。Javaの知識のないJDBC割り当て
私は現在、KU Leuvenの情報管理プログラムの修士課程に在籍しており、データベース管理の任務のために、JDBCを利用するアプリケーションを作成するように求められています。
私はMySQL、MySQL Workbench、Eclipseを問題なくインストールしており、データベースといくつかの種類のテンプレートを提供しています。
割り当ては次のとおりです。
アプリは/彼がやりたい何の顧客に尋ねます。 新しい注文をしたい場合は、オプション「1」を選択します。プログラムは顧客に顧客IDを尋ねます(顧客テーブルから既存の顧客IDを入力するだけです)。次に、プロダクトのリスト(id、> name、category)を出力し、どのプロダクトを注文したいかを顧客に尋ねます。この>リストは、カテゴリ別に商品名順にアルファベット順に並べる必要があります。 >プログラムは、この製品(製品名、レストラン名、評価)の評価が最も高いレストランを出力します。さらに、正しい順序でデータベーステーブルに登録します。
注文された商品カテゴリのリストが少なくとも5回以上表示されたい場合は、オプション2を選択します。食品カテゴリ名のリストと注文数が表示されます。注文数の少ない順にソートされています。
顧客が最も売れた商品のトップ5を見たい場合、オプションは「3」を選択します。このプログラムでは、製品数、製品名、注文数などの5つの製品のリストが表示されます。 これは、ユーザーが '0'を入力するまで繰り返されます。その場合、プログラムは> 'END OF SESSION'というメッセージを表示する必要があります。
我々が提供されているサンプルコードは次のとおりです。私は新しいことを学びたい
package connectionMySql;
import java.sql.*;
import java.io.*;
public class connectionMySql {
/**
* @author X X
*
*/
static {
try {
/* Type 4 Driver */
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.err.println("Could not load MySql driver.");
System.err.println(e.getMessage());
System.exit(1);
}
}
public static void main(String args[]) {
String uname = null;
String psswrd = null;
Integer choice = 1;
/* Location of the database */
String host = "jdbc:mysql://localhost/orderdb";
/* Sample query */
String query = "SELECT * FROM restaurant";
/* Reading log-in data (username and password) */
try {
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter your username on MySql: ");
uname = br1.readLine();
BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter your password on MySql: ");
psswrd = br2.readLine();
} catch (IOException e) {
System.out.print("Failed to get uname/passwd");
System.out.println(":" + e.getMessage());
System.exit(1);
}
/* Example of querying a database */
try {
/* Connect to MySql database */
Connection conn = DriverManager.getConnection(host, uname, psswrd);
System.out.println("Connection established...");
System.out.println();
/* Create statement */
Statement stmt = conn.createStatement();
/* Execute the query */
ResultSet rs = stmt.executeQuery(query);
/* Output */
System.out.println("This is an example how you query a DBMS.");
System.out.println();
System.out.println(query);
System.out.println("ID // First Name // Last Name");
System.out.println("------------------------------");
while (rs.next()) {
System.out.print(rs.getString(1));
System.out.print((" // "));
System.out.print(rs.getString(2));
System.out.print((" // "));
System.out.print(rs.getString(3));
System.out.print((" // "));
System.out.println(rs.getString(4));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("SQL Exception: ");
System.err.println(e.getMessage());
}
/* Example of choice options */
while (choice != 0) {
/*Ask for user's choice*/
try {
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
System.out.println();
System.out.println("This is an example of a choice menu.");
System.out.println();
System.out.println("Please choose between the following options:");
System.out.println(" (1) Add registration");
System.out.println(" (2) Show popular sessions list");
System.out.println(" (0) Quit");
System.out.print("Enter your choice: ");
choice = Integer.parseInt(br1.readLine());
} catch (NumberFormatException ex) {
System.err.println("Not a valid number");
} catch (IOException e) {
e.printStackTrace();
}
if (choice == 1) {
/* TODO */
} else if (choice == 2) {
/* TODO */
} else {
/* TODO */
}
}
System.out.println();
System.out.println("End of Session");
}
}
。それで私はここにいるのですが、私はITのバックグラウンドから来ていないので、問題なくこのすべてを行うことができるという前提の多くは現実的ではありません。
SQLクエリー(私は少し慣れ親しまれています)またはJDBCコーディング(私はまったくわかりません)を使って私が望むものを得ることが期待される場合、ヒントはありません。また、Javaの仕組みやクラスなどについては全く分かりません。
コピーペースト可能なショートカットを探しているわけではありません。私は今、とてもイライラしています。
あなたは正直な質問をしましたが、スタックオーバーフローのためには広すぎます。 JDBCを設定する際に特定の場所に立ち往生した場合は、より集中的な質問でここに戻ってください。 –
どこかで立ち往生できず、私は "enter"できませんでした。私はドアで立ち往生して、比喩を打ちました。 – Pretended
私はそこにサイトをコードする方法のいくつかを見てみましょう。 – CheeZe5