完成增删查

页面代码:

然后布局代码:

请求代码

@WebServlet("/addGoods")
public class AddGoods extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");

        Goods goods=new Goods();
        goods.setGname(request.getParameter("gname"));
        goods.setPrice(Double.parseDouble(request.getParameter("price")));
        goods.setMark(request.getParameter("mark"));

        GoogsDao goods1=new GoogsDao();
        int row=goods1.AddGoods(goods);
        if (row>0){
            request.getRequestDispatcher("selectAllGoods").forward(request,response);
        }else{
            request.setAttribute("error_msg","添加商品信息失败");
            request.getRequestDispatcher("error.jsp").forward(request,response);
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       doPost(request,response);
    }
}

受影响的行数有数据后会再次发送查询请求(刷新)

@WebServlet("/selectAllGoods")
public class SelectAllGoods extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        System.out.println("SelectAllGoods....oPost");

        //去查询数据库中商品信息表的数据
        GoogsDao goods=new GoogsDao();
        List<Goods> goodslist = goods.selectAll();
        System.out.println(goodslist);
        //如果把商品信息传输到页面中进行展示---此处借助Httpsession 传输数据
        HttpSession session=request.getSession();//获HttpSession对
        //把查询到商品信息集合储在到session 对象中,怎名w/daoodslist
        session.setAttribute("goodsList",goodslist);
        response.sendRedirect("zhuye.jsp");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

点击删除,会直接发送请求地址

@WebServlet("/del")
public class DelGoods extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        int gid=Integer.parseInt(req.getParameter("gid"));
        GoogsDao goods1=new GoogsDao();
        int row=goods1.DelGoods(gid);
        if (row>0){
            req.getRequestDispatcher("selectAllGoods").forward(req,resp);
        }else{
            req.setAttribute("error_msg","添加商品信息失败");
            req.getRequestDispatcher("error.jsp").forward(req,resp);
        }
    }
}

GoodsDao中的数据库代码

package com.chen.dao.impl;

import com.chen.bean.Goods;
import com.chen.util.JDBCUtil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class GoogsDao {
    private static String driver = "com.mysql.cj.jdbc.Driver";
    private static String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
    private static String user = "root";
    private static String password = "root";
    private Connection con = null;//数据库链接对象
    private PreparedStatement pstm = null;//预处理对象
    private ResultSet rs = null;//结果集对象
    private int row = 0;//增删改受影响的行为

    public List<Goods> selectAll() {
        List<Goods> goodsList = new ArrayList<>();
        try {
            Class.forName(driver);
            con = DriverManager.getConnection(url, user, password);
            String sql = "select*from t_goods";
            pstm = con.prepareStatement(sql);
            rs = pstm.executeQuery();
            while (rs.next()) {
                Goods goods = new Goods();
                goods.setGid(rs.getInt("gid"));
                goods.setGname(rs.getString("gname"));
                goods.setPrice(rs.getDouble("price"));
                goods.setMark(rs.getString("mark"));
                goodsList.add(goods);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.close(rs,pstm,con);
        }
        return goodsList;
    }
    public int AddGoods(Goods goods){
        int n=0;
        try{
            //加载驱动包
            con = JDBCUtil.getCon();
            //编写sql语句
            String sql="insert into t_goods(gname,price,mark) values(?,?,?)";
            //获取预处理对象
            pstm = con.prepareStatement(sql);
            //传参
            pstm.setObject(1,goods.getGname());
            pstm.setObject(2,goods.getPrice());
            pstm.setObject(3,goods.getMark());
            //执行sql语句
            n= pstm.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JDBCUtil.close(pstm, con);
        }
        return n;
    }

    public int DelGoods(int gid){
        int n=0;
        try{
            //加载驱动包
            con = JDBCUtil.getCon();
            //编写sql语句
            String sql="delete from t_goods where gid=?";
            //获取预处理对象
            pstm = con.prepareStatement(sql);
            //传参
            pstm.setObject(1,gid);
            //执行sql语句
            n= pstm.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JDBCUtil.close(pstm, con);
        }
        return n;
    }
}

最后成果:

添加成功:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值