import java.sql.*;import java.io.*;/** * データベースのレシピを表示するテストをするクラス */public class OkusamaSQL {    private Statement statement;    private Connection conn;    public static void main(String[] args){	new OkusamaSQL().main();    }    private void main() {	try{	    connectDB();//データベースと接続する  	    // 入力を受け付けて、SQL文を実行する	    while(true){		System.out.print(">");//プロンプト表示		System.out.flush();		String input = getInput();//入力を受け付ける		doQuery(input);//実行する	    }	}catch(SQLException e){	    e.printStackTrace();	}	terminateDB();//データベースを切断する    }    /**     * データベースに接続する     */    private void connectDB(){      try{	    //接続するデータベースとデータベースユーザを指定する	    String server = "localhost";  //サーバ名	    String database = "okusama";  //データベース名	    String user = "";         //データベースのユーザ	    String password = "";//データベースユーザのパスワード	    // JDBCを設定する	    String url =  "jdbc:mysql://"+server+"/"+database;  //JDBC URL	    String jdbcDriver = "org.gjt.mm.mysql.Driver";  //JDBCドライバクラスを指定	    Class.forName(jdbcDriver);//JDBCドライバをロードする	    // データベースに接続する	    System.out.println("Connectiog to Database....");      	    conn = DriverManager.getConnection(url,user,password);//データベースと接続をする      }catch(SQLException e){	e.printStackTrace();      }catch(ClassNotFoundException ex){	ex.printStackTrace();      }    }    /***     * データベースと切断する     */    private void terminateDB(){      try{	conn.close();      }catch(SQLException e){	e.printStackTrace();      }    }    private String getInput(){	try{	    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));	    return reader.readLine();	}catch(IOException ex){	    ex.printStackTrace();	}	return null;    }    private void doQuery(String sqlString) throws SQLException{      // ***** レシピを取得するために データベースに問い合わせる *****      statement = conn.createStatement();//SQL文を実行するステートメントの作成      if(sqlString.startsWith("select")){	// ステートメントを実行する        ResultSet toukoudata = statement.executeQuery(sqlString);//SQL文の実行        // 取得した表のすべての行を表示する        while(toukoudata.next()){ //カーソルを次の行に移動する。カーソルが既に最後の行にあるとき、next()はfalseを返し、ループは終了する。	  //現在カーソルがある行のデータを取得する          String contributor = toukoudata.getString("contributor"); //投稿者          String title = toukoudata.getString("title"); //タイトル          String content = toukoudata.getString("content"); //作り方          System.out.println(contributor+"["+title+"/"+content+"]");	}      }else{        // ステートメントを実行する	int result = statement.executeUpdate(sqlString); //SQL文の実行	// 実行結果を表示する	System.out.println("result of executeUpdate(): " + result); //executeUpdateの結果を表示する。      }      // ステートメントを破棄する      statement.close();//ステートメントを閉じる    }}