[JAVA] Datenverwaltung von eigenen Büchern (Portfolio)

Ich werde zum ersten Mal posten. Ich bin ein neuer Absolvent im ersten Jahr und arbeite für ein kleines und mittleres Unternehmen. Ich erstelle ein Portfolio für das Studium mit Ratschlägen von leitenden Angestellten. Wenn Sie die Bedeutung oder Funktion des von Ihnen verwendeten Codes falsch verstehen, geben Sie uns bitte Ihre Anleitung. Die verwendete Entwicklungssoftware ist "Eclipse". Fett ist der Code, // ist der folgende Code.

Portfolio-Inhalt ・ Einfaches Managementsystem für eigene Bücher (sogenannte My Library)

Was Sie mit dem Code machen möchten ・ Suchen Sie nach Büchern, die Sie besitzen

Zu verwendende Dateien -Own.java (Java-Datei, die zuerst von jsp eingegeben wird)

Code Own.java **protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {**

// Geben Sie die Typen der drei von ownBook.jsp empfangenen Daten an. Verwenden Sie diese Methode vom Typ String für alle gesendeten Daten (Datenname nach request.getParameter und darin gespeicherte Daten). Durch Datennamen ersetzen. Titel, Autor und Herausgeber des Buches, nach dem Sie suchen möchten, werden gesendet. // Ich dachte ich schreibe. Wann war request.getParameter erfüllt, wenn HttpServletRequest in der übergeordneten Schnittstelle definiert werden muss? Ist die obige HttpServletRequest in Ordnung? ↓

String bookTitleSerch = request.getParameter(“bookTitleSearch”); String bookWriterSerch= request.getParameter(“bookWriterSearch”); String bookCompanySerch= request.getParameter(“bookCompanySearch”);

// Erstellen eines Buchtyps ownBookList-Variable Erstellen Sie einen Datentyp namens book, da der Datentyp, den Sie abrufen möchten, nicht nur auf den Typ String und nur auf den Typ int beschränkt ist (wenn der Typname leicht zu verstehen ist, weil er als ungültig definiert ist). (Alles ist in Ordnung) ArryList behandelt eine Sammlung von Daten wie ein Array. Um dies durch Anwenden detailliert zu erklären, habe ich eine Methode namens ownBooksList vom Buchtyp erstellt. ArrayList ownBooksList = new ArrayList();

// Ausnahmebehandlung Geben Sie den Ort an, an dem der Fehler auftreten soll. Warum war er hier? try { // Holen Sie sich die Liste = Informationen, die in der Methode gespeichert werden sollen. Lagern Sie die Verarbeitung an Select of OwnDBAccess.java aus und übergeben Sie die obige Variable ownBookList zu diesem Zeitpunkt als Argument.

ownBooksList = OwnDBAccess.Select(bookTitleSerch, bookWriterSerch , bookCompanySerch); // Ausnahmebehandlung: Wenn ein Fehler auftritt, wird auf der Vorderseite nichts angezeigt } catch (SQLException e) { e.printStackTrace(); } // In Anfrage setzen Instanz mit Anforderungsbereich speichern. Auf diese Weise können Sie tragen, bis Sie die drei Wörter erhalten, nach denen Sie suchen möchten. request.setAttribute(“ownBookList”, ownBooksList);

// Geben Sie die JSP-Datei an, für die Sie das angeforderte setAttribute anzeigen möchten. Wird aufgrund eines Klischees weggelassen. ServletContext context = getServletContext(); RequestDispatcher dis = context.getRequestDispatcher(“/OwnReslut.jsp”); dis.forward(request, response); }

・DBAccess.java public static ArrayList Select(String bookTitleSerch , String bookWriterSerch , String bookCompanySerch) throws SQLException { // Fügen Sie nichts in die dao-Variable der Dao-Datei ein. Morgen werden wir über Dao ausgeben. Definieren Sie eine Variable vom Typ Dao (?). Dao ist eine Datei, die hauptsächlich zur Eingabe von Befehlen für Datenbankoperationen dient. ~~ Der Grund für null hier ist, dass Sie es verarbeiten und empfangen möchten, was im weiteren Sinne gesendet wird. ~~ Weil die plötzlich erscheinende Variable nur verarbeitet werden kann, wenn die Variable in der Methode definiert ist.

Dao dao = null;

//上記に同意味。resultという名前の変数を作成、受け取りたいがためにnull。また、検索結果によって返ってくるデータが変わるため。 ArrayList result = null;

//例外処理。

try {

//daoインスタンスを作成。ここで作る意味は検査例外が発生する可能性がある処理を含むため。データベースとの接続を行い、SQlのパスワード等の不一致により例外が発生しやすい。 dao = new Dao();

//DaoファイルのOwnメソッドに引数として()内の変数を渡す。並びに受け取ったデータを上記result変数に代入

result = dao.Own(bookTitleSerch , bookWriterSerch , bookCompanySerch); }finally {

//リソースの開放。必要な情報のみを取り出す為。

if(dao != null) dao.close(); }

//一つ上のreslutに渡す。

return result; }

・Dao.java //以下のメソッドではデータベースの操作と取り出したいデータの指定を行っております。あと、例外処理がしたいのでthrowsを書いてもらいました。()内は引数としてDBAccessから送られてきた三つの変数です(受け取ったら戻り値になるんでしたっけ?)。

public ArrayList Own(String title , String writer , String company) throws SQLException{ // Füllen Sie die in SQL auszuführende Verarbeitung aus. Dieses Mal möchte ich alle Daten abrufen, die den Bedingungen der Büchertabelle entsprechen. Der Code lautet also wie folgt. sql = “select * from books where title like ? and writer like ? and company like ?”;

//以下はSQLを実行するためのコードだったと思います(うろ覚え)。これ書かなきゃいけない理由は分かりません。調べてもこう動く、こう書くとしか出てきませんでした。ご教示よろしくお願いします。

PreparedStatement ps = null; //これが確か、dtoにつなげるためのコードだったと思います。結果が検索内容によって変わるのでnull。 ResultSet rs = null;

// Listenmethode erstellen Wird die oben genannte SQL-Methode verwendet? Geben Sie den Spaltennamen ein, in den eingegeben werden soll ArrayList list = new ArrayList(); //例外処理ですね。起こりそうな例外を書きます。 try { // Setze einen Platzhalter Ich möchte SQL ausführen, da es noch ein prepareStatement gibt ps = con.prepareStatement(sql);

//上記sql=の中の?に入る変数。昨日のファイルにもあるtitleという引数を入れます。 ps.setString(1, “%”+title+”%”);

//上記にほぼ同様の処理です。 ps.setString(2, “%”+writer+”%”);

//上記にほぼ同じです。 ps.setString(3, “%”+company+”%”);

// SQL-Ausführung rs = ps.executeQuery(); //検索したデータがすべて表示されるまで繰り返し取り出す while(rs.next()) { // Elementmethode erstellen Erstellen Sie hier eine Elementinstanz der dto-Datei. Zur dto-Datei springen. book item = new book(); // Den Titel des Buches abrufen und im Artikel speichern item.setTitle(rs.getString(“title”)); //本の著者を取得、itemへ item.setWriter(rs.getString(“writer”)); //本の出版社を取得、itemへ item.setCompany(rs.getString(“company”)); //itemメソッドに格納 list.add(item); }

//これもリソースの開放 rs.close(); }finally {

//これもリソース(ry ps.close(); } //呼び出し元の上記listメソッドに返す return list; }

Dto //このファイルは今まで登場した三つの変数を一つの箱として結果に渡すダンボール箱の役割を持っています。変数を受け取ってもどこに格納するかを指定します(自信あり)。

//前言撤回です。こんな感じだろうなとかいたので細かいところは説明できません。

public class book implements Serializable{ private static final long serialVersionUID = 1L;

// Titel public String title; // Berühmt public String writer; // der Herausgeber public String company;

// Getter / Setter public String getTitle() { return title; }

public void setTitle(String title) { this.title = title; }

public String getWriter() { return writer; }

public void setWriter(String writer) { this.writer = writer; }

public String getCompany() { return company; }

public void setCompany(String company) { this.company =company ; }

}

Für die Buchsuche hier. Senioren, bitte weisen Sie auf Ihre Meinungen und Fehler hin.

Recommended Posts

Datenverwaltung von eigenen Büchern (Portfolio)
Erstellen Sie mit Faker Dummy-Daten für das Portfolio [Hinweis]
[Java] Vereinfachen Sie die Implementierung der Datenverlaufsverwaltung mit Reladomo