Artikel ini berbagi sistem manajemen pesan berdasarkan MVC+DAO, yang mencakup penambahan, penghapusan, modifikasi dan kueri, dan kueri memiliki semua kueri dan kueri fuzzy dengan kata kunci. Konten spesifiknya adalah sebagai berikut
Notedao.java
paket cn.mldn.lxh.note.dao; impor java.util.*; impor cn.mldn.lxh.note.vo.*; Antarmuka publik Notedao {// Tambahkan operasi public void insert (note note) melempar pengecualian; // Modifikasi Operasi Pembaruan Public Void (Catatan Catatan) Melemparkan Pengecualian; // hapus operasi public void delete (int id) melempar pengecualian; // kueri berdasarkan id, terutama untuk memperbarui catatan publik querybyid (int id) melempar pengecualian; // query Semua daftar publik queryAll () melempar pengecualian; // Fuzzy Query List Public QueryByBySeike (String Cond) melempar pengecualian; }; NotedaoImpl.java
paket cn.mldn.lxh.note.dao.impl; impor java.sql.*; impor java.util.*; impor cn.mldn.lxh.note.vo.*; impor cn.mldn.lxh.note.dao.*; impor cn.mldn.lxh.note.dbc.*; Kelas publik NotedaoImpl Implement Notedao {// Tambahkan Operasi Public Void Insert (Catatan Catatan) Melempar Exception {String SQL = "Insert Into Note (ID, Judul, Penulis, Konten) Value (note_Sequ.nextval,?,?,?)"; PSTMT Persiapan PSTMT = NULL; DataBaseConnection dbc = null; DBC = DataBaseConnection baru (); coba {pstmt = dbc.getConnection (). persiapan (sql); pstmt.setstring (1, note.gettitle ()); pstmt.setstring (2, note.getauthor ()); pstmt.setstring (3, note.getContent ()); PSTMT.ExecuteUpdate (); pstmt.close (); } catch (Exception e) {// System.out.println (e); Lempar pengecualian baru ("Terjadi kesalahan dalam operasi !!!"); } akhirnya {dbc.close (); }} // Ubah Operasi Public Void Update (Catatan Catatan) Melempar Pengecualian {String SQL = "Perbarui Catatan Set Title =?, Author =?, Content =? Di mana id =?" ; PSTMT Persiapan PSTMT = NULL; DataBaseConnection dbc = null; DBC = DataBaseConnection baru (); coba {pstmt = dbc.getConnection (). persiapan (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 (Exception e) {lempar pengecualian baru ("Terjadi kesalahan selama operasi!!"); } akhirnya {dbc.close (); }} // hapus operasi public void delete (int id) melempar pengecualian {string sql = "hapus dari note where id =?" ; PSTMT Persiapan PSTMT = NULL; DataBaseConnection dbc = null; DBC = DataBaseConnection baru (); coba {pstmt = dbc.getConnection (). persiapan (sql); pstmt.setint (1, id); PSTMT.ExecuteUpdate (); pstmt.close (); } catch (Exception e) {lempar pengecualian baru ("Terjadi kesalahan dalam operasi !!!"); } akhirnya {dbc.close (); }} // kueri berdasarkan ID, terutama untuk pembaruan Publik Catatan QueryById (int ID) melempar Exception {note note = null; String sql = "Pilih ID, Judul, Penulis, Konten dari Catatan Di mana id =?" ; PSTMT Persiapan PSTMT = NULL; DataBaseConnection dbc = null; DBC = DataBaseConnection baru (); coba {pstmt = dbc.getConnection (). persiapan (sql); pstmt.setint (1, id); Hasil rs = pstmt.executeQuery (); if (rs.next ()) {note = new note (); note.setid (rs.getint (1)); note.settitle (rs.getString (2)); note.setauthor (rs.getString (3)); note.setContent (rs.getString (4)); } rs.close (); pstmt.close (); } catch (Exception e) {lempar pengecualian baru ("Terjadi kesalahan selama operasi!!"); } akhirnya {dbc.close (); } return note; } // query semua daftar publik queryAll () melempar pengecualian {list all = new arraylist (); String sql = "Pilih id, judul, penulis, konten dari catatan"; PSTMT Persiapan PSTMT = NULL; DataBaseConnection dbc = null; DBC = DataBaseConnection baru (); coba {pstmt = dbc.getConnection (). persiapan (sql); Hasil rs = pstmt.executeQuery (); while (rs.next ()) {note note = new note (); note.setid (rs.getint (1)); note.settitle (rs.getString (2)); note.setauthor (rs.getString (3)); note.setContent (rs.getString (4)); all.add (note); } rs.close (); pstmt.close (); } catch (Exception e) {System.out.println (e); Lempar pengecualian baru ("Terjadi kesalahan dalam operasi !!!"); } akhirnya {dbc.close (); } mengembalikan semua; } // Fuzzy Query Daftar Publik QueryByBy Like (String cond) melempar Exception {list all = new arrayList (); String sql = "Pilih id, judul, penulis, konten dari catatan di mana judul seperti? Atau penulis seperti? Atau konten seperti?" ; PSTMT Persiapan PSTMT = NULL; DataBaseConnection dbc = null; DBC = DataBaseConnection baru (); coba {pstmt = dbc.getConnection (). persiapan (sql); pstmt.setstring (1, "%"+cond+"%"); pstmt.setstring (2, "%"+cond+"%"); pstmt.setstring (3, "%"+cond+"%"); Hasil rs = pstmt.executeQuery (); while (rs.next ()) {note note = new note (); note.setid (rs.getint (1)); note.settitle (rs.getString (2)); note.setauthor (rs.getString (3)); note.setContent (rs.getString (4)); all.add (note); } rs.close (); pstmt.close (); } catch (Exception e) {System.out.println (e); Lemparkan pengecualian baru ("Terjadi kesalahan selama operasi!!"); } akhirnya {dbc.close (); } mengembalikan semua; }}; NoteTerVlet.java
paket cn.mldn.lxh.note.servlet; impor java.io.*; impor javax.servlet.*; impor javax.servlet.http.*; impor cn.mldn.lxh.note.factory.*; impor cn.mldn.lxh.note.vo.*; Public Class NoteRerVlet memperluas httpservlet {public void doGet (permintaan httpservletRequest, respons httpservletResponse) melempar ioException, servletException {this.dopost (permintaan, respons); } public void dopost (permintaan httpservletRequest, respons httpservletResponse) melempar ioException, servletException {request.setcharacterencoding ("GB2312"); String path = "errors.jsp"; // menerima nilai parameter yang akan dioperasikan dengan status string = request.getParameter ("status"); if (status! = null) {// Parameter memiliki konten, lalu pilih metode yang sesuai // query semua operasi jika ("selectAll" .equals (status)) {coba {request.setAttribute ("all", daofactory.getnotedaoInstance (). quaryall ()); } catch (Exception e) {} path = "list_notes.jsp"; } // Masukkan operasi jika ("masukkan" .Equals (status)) {// 1. Terima informasi string informasi yang disisipkan = request.getParameter ("title"); String author = request.getParameter ("penulis"); String content = request.getParameter ("Content"); // 2. Instantiate Objek Vo note note = new note (); note.settitle (judul); note.setauthor (penulis); note.setContent (konten); // 3. Hubungi DAO untuk menyelesaikan operasi penyisipan basis data boolean flag = false; coba {daofactory.getNotedaoinStance (). INSERT (note); bendera = true; } catch (Exception e) {} request.setAttribute ("flag", boolean baru (flag)); path = "insert_do.jsp"; } // Operasi kueri oleh ID. Sebelum memodifikasi, Anda perlu meminta data terlebih dahulu jika ("selectId" .Equals (status)) {// menerima parameter int id = 0; coba {id = integer.parseint (request.getParameter ("id")); } catch (Exception e) {} coba {request.setAttribute ("note", daofactory.getNotedaoinStance (). queryById (id)); } catch (Exception e) {} path = "update.jsp"; } // Perbarui operasi jika ("perbarui" .Equals (status)) {int id = 0; coba {id = integer.parseint (request.getParameter ("id")); } catch (Exception e) {} string title = request.getParameter ("title"); String author = request.getParameter ("penulis"); String content = request.getParameter ("Content"); Note note = new note (); note.setid (id); note.settitle (judul); note.setauthor (penulis); note.setContent (konten); bendera boolean = false; coba {daofactory.getNotedaoinStance (). update (note); bendera = true; } catch (Exception e) {} request.setAttribute ("flag", boolean baru (flag)); path = "update_do.jsp"; } // Fuzzy Query if ("SelectBy like" .Equals (status)) {string Keyword = request.getParameter ("Kata kunci"); coba {request.setAttribute ("all", daofactory.getnotedaoinstance (). queryby seperti (kata kunci)); } catch (Exception e) {} path = "list_notes.jsp"; } // hapus operasi if ("delete" .equals (status)) {// menerima parameter int id = 0; coba {id = integer.parseint (request.getParameter ("id")); } catch (exception e) {} boolean flag = false; coba {daofactory.getNotedaoinStance (). hapus (id); bendera = true; } catch (Exception e) {} request.setAttribute ("flag", boolean baru (flag)); path = "delete_do.jsp"; }} else {// Itu berarti tidak ada parameter, permintaan pelanggan ilegal} request.getRequestDispatcher (path) .forward (permintaan, respons); }}; /* <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 impor = "java.util.*"%> <%@ page impor = "cn.mldn.lxh.note.vo.*"%Pusat> <html> <head> <head> <title- title> mvc+dao manajemen pesan manajemen pesan <html> <html> <head> <title> mvc+dao manajemen pesan pesan pesan pesan pesan pesan mvc+dao DAO Contoh-MVC + DAO Implementasi </h1> <hr> <br> <% // encoding konversi permintaan.setcharacterencoding ("GB2312"); if (session.getAttribute ("uname")! = null) {// pengguna dicatat di %> < % // Jika ada konten, modifikasi variabel i. Jika tidak ada, tidak ada prompt konten berdasarkan nilai i int i = 0; String Keyword = Request.GetParameter ("Kata Kunci"); Daftar All = NULL; all = (list) request.getAttribute ("all"); %> <Form Action = "note" Method = "POST"> Harap masukkan konten kueri: <input type = "text" name = "Kata kunci"> <input type = "hidden" name = "status" value = "selectby seperti"> <input type = "kirim" value = "query"> </form> </h3> <a href = "serping" need "query"> </form> </h3> <a href = "serping" ne Newse " <td> ID pesan </td> <td> title </td> <td> penulis </td> <td> konten </td> <td> hapus </td> </tr> <% iterator iter = all.iterator (); while (iter.hasnext ()) {note note = (note) iter.next (); i ++; // Lakukan pencetakan loop untuk mencetak semua konten dalam bentuk tabel // Hapus konten dari database int id = note.getId (); String title = note.gettitle (); String author = note.getAuthor (); String content = note.getContent (); // Karena kata kunci berwarna merah, Anda perlu menerima kata kunci kueri di sini // kata kunci string = request.getParameter ("kata kunci"); if (kata kunci! = null) {// data harus reddited title = title.replaceall (kata kunci, "<font color =/" red/">"+kata kunci+"</font>"); OUTHER = OUTHER.REPLACEALL (kata kunci, "<font color =/" red/">" +Kata kunci +"</font>"); content = content.replaceall (kata kunci, "<font color =/" red/">" +kata kunci +"</font>"); }%> <tr> <td> <%= id%> </td> <td> <a href = "note? id = <%= id%> & status = selectId"> <%= title%> </a> </td> <td> <%= author%> </td> <td> <%= konten%> </td> <%> </td> <td> <%= konten%> </td> <%> </td> <td> <%= konten%> </td> <%> </td> <td> <%= konten%> </td> <%> </td> <td> <%= konten%> </td> <%> </td> <td> <%= konten%> </td> <%> </td> <td> <%= content> </td> <%> </td> <td> <td> <%= Content%> </td> href = "note? id = <%= id%> & status = delete"> delete </a> </td> </tr> <%} // Tentukan apakah nilai I berubah. Jika berubah, itu berarti ada konten. Kalau tidak, tidak ada konten jika (i == 0) {// buat %prompt> <tr> <td colspan = "5"> Tidak ada! Lai Lai </td> </tr> <%}%> </able> <%} else {// pengguna tidak masuk, meminta pengguna untuk masuk, dan melompat ke response.setHeader ("refresh", "2; url = login.jsp"); %> Anda belum masuk, silakan masuk dulu! Lai Lai <br> Ini akan secara otomatis melompat ke jendela login dalam dua detik! Lai Lai <br> Jika tidak ada lompatan, tekan <a href = "login.jsp"> di sini </a>! Lai Lai <br> < %} %> </center> </body> </html>Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.