Dao
ProductDao
package com.nnxy.dao;
import com.nnxy.entity.Product;
import com.nnxy.utlis.DruidUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.SQLException;
import java.util.List;
public class ProductDao {
//查询所有商品
private QueryRunner qr= new QueryRunner(DruidUtils.dataSource);
public List findAllProduct() throws SQLException {
String sql = "select * from product";
List productList = qr.query(sql, new BeanListHandler(Product.class));
return productList;
}
public int addProduct(String id,String name,String rice,String desc) throws SQLException {
String sql = "insert into product values (?,?,?,?,0,1)";
int update = qr.update(sql, id, name, rice, desc);
return update;
}
public Product selectPname(String pname) throws SQLException {
String sql = "select * from product where pname = ?";
Product product = qr.query(sql, new BeanHandler(Product.class), pname);
return product;
}
}
Servlet
HttpServlet
package com.nnxy.web;
import com.nnxy.dao.ProductDao;
import com.nnxy.entity.Product;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;
@WebServlet(name = "findProductServlet",urlPatterns = "https://blog.csdn.net/findProductServlet")
public class FindProductServlet extends HttpServlet{
//由于 我们需要访问 ProductDao 的方法 , 所以将其作为 成员变量
private ProductDao productDao = new ProductDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
//执行查询所有商品的操作
List allProduct = productDao.findAllProduct();
// 将allProduct 写出到页面上
resp.setContentType("text/html;charset=utf-8");
PrintWriter writer = resp.getWriter();
writer.println("");
for (Product p :
allProduct) {
writer.println("| "+p.getPname()+" | "+p.getPrice()+" | "+p.getPdesc()+" |
");
}
writer.println("
");
writer.println("n新增商品n" +
"查询指定商品n" +
"返回主页");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
SelectProductServlet
package com.nnxy.web;
import com.nnxy.dao.ProductDao;
import com.nnxy.entity.Product;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
@WebServlet(name = "selectProductServlet", urlPatterns = "/select_product")
public class SelectProductServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求信息编码格式为UTF-8
req.setCharacterEncoding("utf-8");
ProductDao productDao = new ProductDao();
resp.setContentType("text/html;charset=utf-8");//设置网页编码 防止乱码
PrintWriter writer = resp.getWriter();
try {
String pname = req.getParameter("pname");
Product p = productDao.selectPname(pname);
writer.println("");
writer.println("| 商品名称 | 商品价格 | 商品描述 |
");
writer.println("| " + p.getPname() + " | " + p.getPrice() + " | " + p.getPdesc() + " |
");
writer.println("
");
writer.println("返回主页n" +
"新增商品");
} catch (SQLException e) {
e.printStackTrace();
} finally {
writer.close();
}
}
}
UpdateProductServlet
package com.nnxy.web;
import com.nnxy.dao.ProductDao;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
@WebServlet(name = "updateProductServlet", urlPatterns = "/add_product")
public class UpdateProductServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求信息编码格式为UTF-8
req.setCharacterEncoding("utf-8");
ProductDao productDao = new ProductDao();
resp.setContentType("text/html;charset=utf-8");//设置编码要在开启写入流操作之前进行
PrintWriter writer = resp.getWriter();
try {
String addid = req.getParameter("addid");
String addname = req.getParameter("addname");
String addrice = req.getParameter("addrice");
String adddesc = req.getParameter("adddesc");
int i = productDao.addProduct(addid, addname, addrice, adddesc);
if (i > 0) {
System.out.println("新增" + addname + "商品成功!");
writer.println("");
resp.sendRedirect("https://blog.csdn.net/findProductServlet");
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("新增商品失败!");
writer.println("");
resp.sendRedirect("https://blog.csdn.net/weixin_48322694/article/details/add.html");
} finally {
writer.close();
}
}
}
html
add
新增商品
index
test
查询所有商品信息
新增商品
查询指定商品
返回主页
select
查询指定商品
结果展示
新增页面
新增后跳转到全部结果
查询单条数据
查询结果
使用jdbc,Druid ,mysql 工具类未展示