柚子的JavaWeb笔记

编程入门 行业动态 更新时间:2024-10-10 15:22:07

<a href=https://www.elefans.com/category/jswz/34/1748448.html style=柚子的JavaWeb笔记"/>

柚子的JavaWeb笔记

实现数据的新增

Dao层 接口

package com.ishopn.dao;
import java.util.List;
import com.ishopn.model.Commodity;
//接口  定义增删查的方法
public interface CommodityDao {List<Commodity> getCommodityList(); // 查询方法 获取commodity的集合int istCommodity(Commodity c);// 插入新的commodity数据int delCommodityById(String c_id);//删除commodity的数据
}

Dao层 实现类

//CommodityDao接口的实现类
package com.ishopn.dao.impl;import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import com.ishopn.dao.CommodityDao;
import com.ishopn.model.Commodity;
import com.ishopn.util.DBHelper;public class CommodityDaoimpl implements CommodityDao {@Override //重写查询方法public List<Commodity> getCommodityList() {//定义一个List集合来保存数据库中的commodity数据List<Commodity> commoditys = new ArrayList<Commodity>();try {//获取数据库连接Connection conn = DBHelper.getConnection();String sql = "select * from commodity";ResultSet rs = DBHelper.execteQuery(conn, sql, null);while(rs.next()) {//实例化一个commodity对象,将数据库中的数据以对象保存Commodity c = new Commodity();c.setC_id(rs.getString(1)) ;c.setC_name(rs.getString(2));c.setC_madein(rs.getString(3));c.setC_type(rs.getString(4));c.setC_inprice(rs.getInt(5));c.setC_outprice(rs.getInt(6));c.setC_num(rs.getInt(7));c.setCt(new CommoditytypeDaoimpl().getCommoditytypeById(rs.getString("c_type")));commoditys.add(c);}//关闭数据库连接DBHelper.closeConnection(conn);}catch(Exception e) {e.printStackTrace();}//将得到的数据集合返回return commoditys;}@Override//重写的新增数据方法  需要新增的数据的那个对象//该对象中保存了commodity的所有数据,用于插入到数据库public int istCommodity(Commodity c) {//初始化 数据库中的受影响行数int line = 0;try {//获取数据库连接Connection conn = DBHelper.getConnection();//新增的sql语句String sql = "insert into commodity (c_id,c_name,c_madein,c_type,c_inprice,c_outprice,c_num) values(?,?,?,?,?,?,?)";List param = new ArrayList();param.add(c.getC_id());param.add(c.getC_name());param.add(c.getC_madein());param.add(c.getC_type());param.add(c.getC_inprice());param.add(c.getC_outprice());param.add(c.getC_num());line = DBHelper.executeUpdate(conn, sql, param);//关闭数据库连接DBHelper.closeConnection(conn);}catch(Exception e) {e.printStackTrace();}//将数据库中的受影响行数返回return line;}@Override//重写的删除数据方法  需要一个呗删除数据的idpublic int delCommodityById(String c_id) {int line = 0;try {//获取数据库连接Connection conn = DBHelper.getConnection();//删除的sql语句String sql = "delete from commodity where c_id=?";List param = new ArrayList();param.add(c_id);line = DBHelper.executeUpdate(conn, sql, param);//关闭数据库连接DBHelper.closeConnection(conn);}catch(Exception e){e.printStackTrace();}//将执行sql语句后的受影响行数返回return line;}	
}

Controller层

package com.ishopn.controller;import java.util.List;import com.ishopn.dao.CommodityDao;
import com.ishopn.dao.impl.CommodityDaoimpl;
import com.ishopn.model.Commodity;
//处理业务逻辑
public class CommodityController {private CommodityDao commodityDao = null;//在构造方法中将Dao层对象实例化  增加代码复用public CommodityController() {commodityDao = new CommodityDaoimpl();}//查询方法   使用实例化的Dao层对象去调用方法,获得返回 数据的List集合public List<Commodity> getCommodityList() {return commodityDao.getCommodityList();}//新增方法  使用实例化的Dao层对象调用新增数据的方法  获得返回的受影响行数//由于该方法需要一个Commodity的对象,所以需要new一个,//然后使用前端获取到的用户输入的字段 实例化Commodity对象//返回受影响行数public int istCommodity(String c_name,String c_madein,String c_type,String c_inprice,String c_outprice,String c_num) {Commodity c = new Commodity(System.currentTimeMillis()+"",c_name,c_madein,c_type,new Integer(c_inprice),new Integer(c_outprice),new Integer(c_num));return commodityDao.istCommodity(c);}//删除方法  使用实例化的Dao层对象调用delCommodityById方法//该方法的参数为前端获得的要删除的数据的idpublic int delCommodityById(String c_id) {return commodityDao.delCommodityById(c_id);}
}

Service层 新增

package com.ishopn.servlet;import java.io.IOException;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.ishopn.controller.CommodityController;
import com.ishopn.controller.CommoditytypeController;
import com.ishopn.model.Commodity;
import com.ishopn.model.Commoditytype;//创建一个普通类去继承HttpServlet类 变成Servlet
public class CommodityServlet extends HttpServlet {//重写HttpSerlet的两个方法  可获得request和respon对象@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置编码格式req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");//通过前端获得数据的信息String c_name = req.getParameter("c_name");String c_madein = req.getParameter("c_madein");String c_type = req.getParameter("c_type");String c_inprice = req.getParameter("c_inprice");String c_outprice = req.getParameter("c_outprice");String c_num = req.getParameter("c_num");//调用Controller层的新增方法,将从起那段获得的参数传入int line = new CommodityController().istCommodity(c_name, c_madein, c_type, c_inprice, c_outprice, c_num);//判断受影响行数  大于0 说明数据库中数据新增成功if(line>0) {HttpSession session = req.getSession();//该List用于显示所有商品的信息List<Commodity> cList = new CommodityController().getCommodityList();session.setAttribute("cList", cList);List<Commoditytype> ctList = new CommoditytypeController().getCommodityList();session.setAttribute("ctList", ctList);//新增之后 重新跳转到当前页面  实现刷新功能resp.sendRedirect("/web06/welcome.jsp");}else {//数据插入失败}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req,resp);}}

Service层 删除

package com.ishopn.servlet;import java.io.IOException;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.ishopn.controller.CommodityController;
import com.ishopn.controller.CommoditytypeController;
import com.ishopn.model.Commodity;
import com.ishopn.model.Commoditytype;
//创建删除类 继承HttpServlet 变为Servlet
public class delCommodityByIdServlet extends HttpServlet {//重写HttpServlet的两个方法@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置编码格式req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");//从前端获得要删除的商品的idString c_id = req.getParameter("c_id");//实例化Controller层的对象CommodityController c = new CommodityController();//调用删除方法int line = c.delCommodityById(c_id);HttpSession session = req.getSession();//判断数据库中的受影响行数  大于0则表示删除成功if(line>0) {//获取商品数据的List集合List<Commodity> cList = new CommodityController().getCommodityList();session.setAttribute("cList", cList);List<Commoditytype> ctList = new CommoditytypeController().getCommodityList();session.setAttribute("ctList", ctList);//重新跳转到当前页面  达到刷新的效果resp.sendRedirect("/web06/welcome.jsp");}else {System.out.println("删除失败!");}	}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req,resp);}	
}

更多推荐

柚子的JavaWeb笔记

本文发布于:2024-03-04 19:17:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1710172.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:柚子   笔记   JavaWeb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!