Este artículo seguirá el artículo anterior en el módulo de clasificación de Libro Mall para su referencia. El contenido específico es el siguiente
1. Crear clases relacionadas
cn.itcast.bookstore.book
Dominio: libro
Dao: bookdao
Servicio: servicio de libros
web.servle: bookservlet
Libro
Libro de clase pública {oferta de cadena privada; cadena privada bname; precio doble privado; autor de cadena privada; imagen de cadena privada; categoría de categoría privada; booleano privado del;}Bookdao
public class Bookdao {Private QueryRunner qr = new txQueryRunner (); / ** * consulta todos los libros * @return */ public list <Book> findAll () {try {string sql = "Seleccionar * del libro donde del = falso"; return Qr.Query (SQL, New Beanlisthandler <Book> (Book.class)); } catch (sqlexception e) {lanzar nueva runtimeException (e); }} / ** * consulta por categoría * @param cid * @return * / public list <Book> findByCategory (string cid) {try {string sql = "select * del libro donde cid =? Y del = falso"; return Qr.Query (SQL, New Beanlisthandler <Book> (Libro.Class), CID); } catch (sqlexception e) {lanzar nueva runtimeException (e); }} / ** * Método de carga * @param bid * @return * / public book findBybid (string bid) {try { / * * Necesitamos guardar la información de la categoría en el objeto del libro * / String sql = "Seleccionar * del libro donde bid =?"; Map <string, object> map = qr.query (SQL, new Maphandler (), BID); / * * ¡Use un mapa para mapear dos objetos y luego establecer una relación para estos dos objetos! */ Categoría Categoría = CommonUtils.tobean (mapa, categoría.class); Libro de libros = CommonUtils.tobean (map, book.class); book.setCategory (categoría); libro de regreso; } catch (sqlexception e) {lanzar nueva runtimeException (e); }} / *** Consulta el número de libros en la categoría especificada* @param cid* @return* / public int getCountBycid (string cid) {try {string sql = "select Count (*) del libro donde cid =?"; Número cnt = (número) qr.query (SQL, nuevo ScalarHandler (), CID); return cnt.intValue (); } catch (sqlexception e) {lanzar nueva runtimeException (e); }} / *** Agregar libro* @param libro* / public void add (libro de libros) {try {string sql = "insertar en valores de libro (?,?,?,?,?,?)"; Objeto [] params = {book.getBid (), book.getbname (), book.getPrice (), book.getAuthor (), book.getImage (), book.getCategory (). GetCID ()}; Qr.Update (SQL, Params); } catch (sqlexception e) {lanzar nueva runtimeException (e); }} / *** Elimine el libro* @param bid* / public void delete (bid de cadena) {try {String sql = "Update Book set del = true Where bid =?"; QR.Update (SQL, BID); } catch (sqlexception e) {lanzar nueva runtimeException (e); }} public void edit (libro de libros) {try {String sql = "Actualizar el conjunto de libros BNAME =?, precio =?, autor =?, image =?, Cid =? Objeto [] params = {book.getBName (), book.getPrice (), book.getAuthor (), book.getImage (), book.getCategory (). GetCid (), book.getBid ()}; Qr.Update (SQL, Params); } catch (sqlexception e) {lanzar nueva runtimeException (e); }}}Servicio de libros
Public Class BookService {private bookdao bookdao = new Bookdao (); / *** Consulta todos los libros* @return*/ public List <Book> findall () {return bookdao.findall (); } / ** * Libros de consulta por categoría * @param cid * @return * / lista pública <Book> findbycategory (string cid) {return bookdao.findbycategory (cid); } Public Book Load (Bid de cadena) {return bookdao.findbybid (bid); } / *** Agregar libro* @param book* / public void add (libro de libros) {bookdao.add (libro); } public void Delete (Bid de cadena) {bookdao.delete (bid); } public void edit (libro de libros) {bookdao.edit (libro); }}Servidor de libros
Public Class Bookservlet extiende Baseservlet {private bookservice bookservice = new Bookservice (); Public String Load (HttpServletRequest Solicitud, respuesta httpServletResponse) lanza ServletException, ioException { / * * 1. Obtenga la oferta de parámetros * 2. Consulta Obtener libro * 3. Guardar y reenviar a Desc.jsp * / request.setTribute ("Libro", bookerVice.Load (request.getParameter ("oferta"))); return "f: /jsps/book/desc.jsp"; } / ** * consulta todos los libros * @param solicitud * @param respuesta * @return * @throws servletException * @throws ioexception * / public string findall (httpservletRequest solicitud, httpServletResponse Response) lanza ServletException, ioexception {request.settribute ("booklist", booklist ", findall ());); return "f: /jsps/book/list.jsp"; } / ** * consulta por categoría * @param solicitud * @param respuesta * @return * @throws servletException * @throws ioException * / public string findByCategory (httpservletRequest request, httpServletResponse respuesta) lanza ServletException, ioexception {string cid = request.getParameter ("cid"); request.SetAttribute ("Listra de libros", Bookservice.FindbyCategory (CID)); return "f: /jsps/book/list.jsp"; }}2. Consulta todos los libros
Proceso: Left.jsp (todas las clases) -> Bookservlet#findall () -> /jsps/book/list.jsp
3. Libros de consulta por categoría
Proceso: Left.jsp -> bookservlet#findbycategory () -> list.jsp
4. Detalles de la consulta (carga)
Proceso: list.jsp (haga clic en un libro) -> bookservlet#load () -> desc.jsp
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.