[JAVA] Gestion des données des livres détenus (portefeuille)

Je publierai pour la première fois. Je suis un nouveau diplômé de première année travaillant pour une petite et moyenne entreprise. Je crée un portfolio pour étudier avec les conseils d'employés seniors. Si vous ne comprenez pas la signification ou la fonction du code que vous utilisez, veuillez nous donner vos conseils. Le logiciel de développement utilisé est "Eclipse". Gras est le code, // est le code ci-dessous.

Contenu du portfolio ・ Système de gestion simple pour les livres possédés (appelé Ma bibliothèque)

Ce que vous voulez faire avec le code ・ Recherchez des livres que vous possédez

Fichiers à utiliser -Own.java (fichier java qui entre en premier depuis jsp)

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

// Spécifiez les types des trois données reçues par ownBook.jsp. Utilisez cette méthode de type String pour chaque donnée envoyée (nom de données après request.getParameter et données qui y sont stockées). Remplacez par le nom des données. Le titre, l'auteur et l'éditeur du livre que vous souhaitez rechercher sont envoyés. // Je pensais que j'écrivais. Quand request.getParameter a été satisfait si HttpServletRequest doit être défini dans l'interface parent? La requête HttpServletRequest ci-dessus est-elle correcte? ↓

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

// Créer un type de livre Variable ownBookList Créer un type de données appelé book car le type de données que vous souhaitez récupérer n'est pas limité au type String uniquement et au type int uniquement (si le nom du type est facile à comprendre car il est défini comme void) (Tout va bien) ArryList gère une collection de données comme un tableau. Pour expliquer en détail en l'appliquant, j'ai créé une méthode appelée ownBooksList de type livre. ArrayList ownBooksList = new ArrayList();

// Gestion des exceptions Spécifiez l'endroit où l'erreur se produira Pourquoi était-ce ici? try { // Récupère la liste = Informations à stocker dans la méthode Externaliser le traitement vers Select de OwnDBAccess.java, et passer la variable ownBookList ci-dessus comme argument à ce moment.

ownBooksList = OwnDBAccess.Select(bookTitleSerch, bookWriterSerch , bookCompanySerch); // Traitement des exceptions: rien n'est affiché au recto lorsqu'une erreur se produit } catch (SQLException e) { e.printStackTrace(); } // Défini dans l'instance de sauvegarde de la requête à l'aide de la portée de la requête. Cela vous permet de porter jusqu'à ce que vous receviez les trois mots que vous souhaitez rechercher request.setAttribute(“ownBookList”, ownBooksList);

// Spécifiez le fichier jsp pour lequel vous souhaitez afficher le setAttribute demandé. Omis en raison d'un cliché. 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 { // Ne rien mettre dans la variable dao du fichier Dao Demain, nous sortirons sur Dao. Définissez une variable de type Dao (?). Dao est un fichier principalement pour la saisie de commandes liées aux opérations de base de données. ~~ La raison de null ici est que vous voulez le traiter et recevoir ce qui est envoyé au sens large. ~~ Parce que la variable qui apparaît soudainement ne peut être traitée que si la variable est définie dans la méthode.

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{ // Remplissez le traitement à effectuer en SQL Cette fois, je souhaite récupérer toutes les données qui correspondent aux conditions de la table des livres, le code est donc le suivant. sql = “select * from books where title like ? and writer like ? and company like ?”;

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

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

// Méthode Create List La méthode sql ci-dessus est-elle utilisée? Saisissez le nom de la colonne à saisir ArrayList list = new ArrayList(); //例外処理ですね。起こりそうな例外を書きます。 try { // Définir un espace réservé Je veux exécuter SQL car il y a toujours un prepareStatement ps = con.prepareStatement(sql);

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

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

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

// exécution SQL rs = ps.executeQuery(); //検索したデータがすべて表示されるまで繰り返し取り出す while(rs.next()) { // Créer une méthode d'élément Crée ici une instance d'élément du fichier dto. Accédez au fichier dto. book item = new book(); // Récupère le titre du livre et le stocke dans l'élément 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;

// Titre public String title; // Célèbre public String writer; // l'éditeur 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 ; }

}

Pour la recherche de livres, ici. Aînés, veuillez signaler vos opinions et vos erreurs.

Recommended Posts

Gestion des données des livres détenus (portefeuille)
Créez des données factices pour le portefeuille avec Faker [Note]
[Java] Simplifiez la mise en œuvre de la gestion de l'historique des données avec Reladomo