Dieser Artikel teilt ein Nachrichtenverwaltungssystem auf Basis von MVC+DAO, das Addition, Löschung, Änderung und Abfrage enthält, und die Abfrage enthält alle Abfragen und Fuzzy -Abfrage nach Schlüsselwörtern. Der spezifische Inhalt ist wie folgt
Notedao.java
Paket cn.mldn.lxh.note.dao; import Java.util.*; importieren cn.mldn.lxh.note.vo.*; öffentliche Schnittstelle Notedao {// Operation Operation public void Insert (Hinweis Anmerkung) löst eine Ausnahme aus; // Die Operation öffentlicher void -Update ändern (Hinweis) löst eine Ausnahme aus; // Operation öffentlich void delete (int id) löst eine Ausnahme aus; // Abfrage nach ID, hauptsächlich zur Aktualisierung der öffentlichen Notiz QueryById (int ID) aus der Ausnahme; // Abfragen Sie alle öffentlichen Liste queryAll () aus Ausnahme; // Fuzzy Query Public List QueryBy -ähnliche (String Cond) löst eine Ausnahme aus; }; NotedaoImpl.java
Paket cn.mldn.lxh.note.dao.impl; Java.sql.* importieren; import Java.util.*; importieren cn.mldn.lxh.note.vo.*; importieren cn.mldn.lxh.note.dao.*; importieren cn.mldn.lxh.note.dbc.*; public class NotedaOImpl implementiert Notedao {// Operation public void Insert (Hinweis Anmerkung) löst die Ausnahme aus. PrepedStatement pstmt = null; DatabaseConnection dbc = null; dbc = new DatabaseConnection (); try {pstmt = dbc.getConnection (). Preparestatement (SQL); pstmt.setstring (1, note.gettitle ()); pstmt.setstring (2, note.getAuthor ()); pstmt.setstring (3, note.getContent ()); pstmt.executeUpdate (); pstmt.close (); } catch (Ausnahme e) {// system.out.println (e); Neue Ausnahme auswerfen ("Fehler in der Operation aufgetreten !!!"); } endlich {dbc.close (); }} // Ändern Sie die Operation public void update (Hinweis Anmerkung) Ausnahme {String sql = "Aktualisieren Sie Hinweis Set title =?, Author =?, Content =? WO ID =?" ; PrepedStatement pstmt = null; DatabaseConnection dbc = null; dbc = new DatabaseConnection (); try {pstmt = dbc.getConnection (). Preparestatement (SQL); pstmt.setstring (1, note.gettitle ()); pstmt.setstring (2, note.getAuthor ()); pstmt.setstring (3, note.getContent ()); pstmt.setint (4, note.getId ()); pstmt.executeUpdate (); pstmt.close (); } catch (Ausnahme E) {Neue Ausnahme werfen ("Ein Fehler ist während der Operation aufgetreten!!"); } endlich {dbc.close (); }} // Operation public void delete (int id) löst die Ausnahme aus {String sql = "Aus der Notiz löschen, wo id =?" ; PrepedStatement pstmt = null; DatabaseConnection dbc = null; dbc = new DatabaseConnection (); try {pstmt = dbc.getConnection (). Preparestatement (SQL); pstmt.setint (1, id); pstmt.executeUpdate (); pstmt.close (); } catch (Ausnahme E) {Neue Ausnahme werfen ("Ein Fehler in der Operation aufgetreten !!!"); } endlich {dbc.close (); }} // Abfrage nach ID, hauptsächlich für Aktualisierungen öffentlicher Hinweis QueryById (int id) löst Ausnahme aus {note note = null; String SQL = "ID, Titel, Autor, Inhalt aus beachten, wo id =?" ; PrepedStatement pstmt = null; DatabaseConnection dbc = null; dbc = new DatabaseConnection (); try {pstmt = dbc.getConnection (). Preparestatement (SQL); pstmt.setint (1, id); ResultSet rs = pstmt.executeQuery (); if (rs.Next ()) {note = new Note (); Anmerkung.SetId (rs.getint (1)); Anmerkung.Settitle (rs.getString (2)); Anmerkung.SetAuthor (Rs.GetString (3)); Anmerkung.SetContent (Rs.GetString (4)); } rs.close (); pstmt.close (); } catch (Ausnahme E) {Neue Ausnahme werfen ("Ein Fehler ist während der Operation aufgetreten!!"); } endlich {dbc.close (); } Rückgabenotiz; } // alle öffentlichen Liste queryAll () abfragen Ausnahme {list All = new ArrayList (); String SQL = "ID, Titel, Autor, Inhalt aus Note"; PrepedStatement pstmt = null; DatabaseConnection dbc = null; dbc = new DatabaseConnection (); try {pstmt = dbc.getConnection (). Preparestatement (SQL); ResultSet rs = pstmt.executeQuery (); while (rs.Next ()) {note note = new Note (); Anmerkung.SetId (rs.getint (1)); Anmerkung.Settitle (rs.getString (2)); Anmerkung.SetAuthor (Rs.GetString (3)); Anmerkung.SetContent (Rs.GetString (4)); All.Add (Anmerkung); } rs.close (); pstmt.close (); } catch (Ausnahme e) {System.out.println (e); Neue Ausnahme auswerfen ("Fehler in der Operation aufgetreten !!!"); } endlich {dbc.close (); } Alle zurückgeben; } // Fuzzy Query Public List Queryby -ähnlich (String Cond) löst Ausnahme aus {list All = new ArrayList (); String SQL = "ID, Titel, Autor, Inhalt aus beachten, wo der Titel wie? Oder Autor mögen? Oder Inhalte wie?" ; PrepedStatement pstmt = null; DatabaseConnection dbc = null; dbc = new DatabaseConnection (); try {pstmt = dbc.getConnection (). Preparestatement (SQL); pstmt.setstring (1, "%"+cond+"%"); pstmt.setstring (2, "%"+cond+"%"); pstmt.setstring (3, "%"+cond+"%"); ResultSet rs = pstmt.executeQuery (); while (rs.Next ()) {note note = new Note (); Anmerkung.SetId (rs.getint (1)); Anmerkung.Settitle (rs.getString (2)); Anmerkung.SetAuthor (Rs.GetString (3)); Anmerkung.SetContent (Rs.GetString (4)); All.Add (Anmerkung); } rs.close (); pstmt.close (); } catch (Ausnahme e) {System.out.println (e); Neue Ausnahme machen ("Ein Fehler ist während der Operation aufgetreten!!!"); } endlich {dbc.close (); } Alle zurückgeben; }}; Noteservlet.java
Paket cn.mldn.lxh.note.servlet; import Java.io.*; Javax.servlet importieren.*; importieren javax.servlet.http.*; importieren cn.mldn.lxh.note.factory.*; importieren cn.mldn.lxh.note.vo.*; public class Noteservlet erweitert HttpServlet (public void dodget (httpServletRequest Request, httpServletResponse -Antwort). } public void dopost (httpServletRequest -Anforderung, httpServletResponse -Antwort) löst IOException, ServleTException {Request.Setcharactercoding ("GB2312") aus; String path = "fehler.jsp"; // Empfangen Sie den Parameterwert, der betrieben werden soll String Status = Request.GetParameter ("Status"); if (status! } catch (Ausnahme e) {} path = "list_notes.jsp"; } // Betrieb einfügen if ("einfügen" .Eequals (Status)) {// 1. Empfangen Sie den eingefügten Informationsstring -Titel = Request.getParameter ("title"); String Author = Request.GetParameter ("Autor"); String content = request.getParameter ("Inhalt"); // 2.. Instantieren Sie das VO -Objekt Hinweis note = new Note (); Anmerkung.Settitle (Titel); Anmerkung.SetAuthor (Autor); Anmerkung.SetContent (Inhalt); // 3. Rufen Sie DAO an, um die Datenbankeinfügungsoperation zu vervollständigen. try {daofactory.getnottaoinstance (). Insert (Anmerkung); Flag = wahr; } catch (Ausnahme e) {} request.setAttribute ("flag", neuer boolean (Flag)); path = "insert_do.jsp"; } // Abfragebetrieb nach ID. Vor dem Ändern müssen Sie zuerst die Daten abfragen, wenn ("SelectID" .Equals (Status)) {// Parameter int id = 0 empfangen; try {id = integer.parseInt (request.getParameter ("id")); } catch (Ausnahme e) {} try {request.setAttribute ("note", daofactory.getnottaoinstance (). queryById (id)); } catch (Ausnahme e) {} path = "update.jsp"; } // Operation if ("update" .equals (Status)) {int id = 0; try {id = integer.parseInt (request.getParameter ("id")); } catch (Ausnahme e) {} String title = request.getParameter ("title"); String Author = Request.GetParameter ("Autor"); String content = request.getParameter ("Inhalt"); Hinweis Anmerkung = neuer Anmerkung (); Anmerkung.SetId (ID); Anmerkung.Settitle (Titel); Anmerkung.SetAuthor (Autor); Anmerkung.SetContent (Inhalt); boolesche Flagge = Falsch; try {daofactory.getnottaoinstance (). Update (Anmerkung); Flag = wahr; } catch (Ausnahme e) {} request.setAttribute ("flag", neuer boolean (Flag)); path = "update_do.jsp"; } // Fuzzy Query if ("SELECTBY -artig" .Equals (Status)) {String keyword = request.getParameter ("Keyword"); try {request.setAttribute ("All", Daofactory.getNottaOinstance (). QueryBy -ähnlich (Schlüsselwort)); } catch (Ausnahme e) {} path = "list_notes.jsp"; } // Betrieb löschen if ("delete" .equals (status)) {// Parameter int id = 0; try {id = integer.parseInt (request.getParameter ("id")); } catch (Ausnahme e) {} boolean flag = false; try {daofactory.getnottaoinstance (). Delete (id); Flag = wahr; } catch (Ausnahme e) {} request.setAttribute ("flag", neuer boolean (Flag)); path = "delete_do.jsp"; }} else {// es bedeutet keine Parameter, illegale Kundenanforderung} request.getRequestDispatcher (Pfad) .forward (Request, Antwort); }}; /* <servlet> <servlet-name>note</servlet-name> <servlet-class>cn.mldn.lxh.note.servlet.NoteServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>note</servlet-name> <url-pattern>/note/note_mvc/Note</url-pattern> </servlet-mapping> */ list_notes.jsp
<%@ page contentType = "text/html; charSet = gb2312"%> <%@ page import = "java.util.*"%> <%@ page import = "cn.mldn.lxh.note.vo. Management Beispiel-MVC + DAO-Implementierung </h1> <hr> <br> <% // codieren Conversion Request.setcharactercoding ("GB2312"); if (session.getAttribute ("uname")! Wenn es nein gibt, gibt es keine Inhaltsaufforderung basierend auf I's Value int i = 0; String keyword = request.getParameter ("Schlüsselwort"); Listen Sie alle = null auf; alle = (list) request.getAttribute ("alle"); %> <form action = "note" methode = "post"> Bitte geben Sie den Inhalt von Abfragen ein: <input type = "text" name = "keyword"> <Eingabe type = "Hidden" name = "status" value = "selectBy -ähnlich"> <input type = "value =" query "> </Form> </h3> <a href =" Id </td> <td> title </td> <td> Autor </td> <td> Inhalt </td> <td> löschen </td> </tr> <% iterator iter = all.iterator (); while (iter.hasnext ()) {note note = (note) iter.next (); i ++; // Führen Sie einen Schleifendruck aus, um alle Inhalte im Tabellenformular auszudrucken // Inhalt aus der Datenbank int id = note.getId () entfernen; String title = note.gettitle (); String Author = note.getAuthor (); String content = note.getContent (); // Da das Schlüsselwort rot ist, müssen Sie hier Abfrage -Schlüsselwörter empfangen // String -Keyword = Anforderung.getParameter ("Keyword"); if (keyword! Autor = Author.ReplaceAll (Schlüsselwort "<font color =/" rot/">" +Schlüsselwort +"</font>"); content = content.replaceAll (Schlüsselwort "<font color =/" rot/">" +Schlüsselwort +"</font>"); } %> <tr> <td><%=id%></td> <td><a href="Note?id=<%=id%>&status=selectid"><%=title%></a></td> <td><%=author%></td> <td><%=content%></td> <td><a href = "Anmerkung? id = <%= id%> & status = delete"> delete </a> </td> </tr> <%} // Bestimmen Sie, ob sich der Wert von i ändert. Wenn es sich ändert, bedeutet dies, dass es Inhalte gibt. Andernfalls gibt es keinen Inhalt, wenn (i == 0) {// eine Eingabeaufforderung %> <tr> <td colspan = "5"> Nichts! ! ! </td> </tr> <%}%> </table> <%} else {// Der Benutzer ist nicht angemeldet, fordern Sie den Benutzer auf, sich anzumelden und zur Antwort zu springen. %> Sie sind noch nicht angemeldet. Bitte melden Sie sich zuerst an! ! ! <br> Es wird automatisch in zwei Sekunden zum Anmeldefenster springen! ! ! <br> Wenn es keinen Sprung gibt, drücken Sie <a href = "login.jsp"> hier </a>! ! ! <br> < %} %> </center> </body> </html>Das Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.