1.页面信息的修改(update t_goods set gname=?,price=?,mark=? where gid=?)
a.根据id查询商品信息
readonly 只允许读,不允许修改。
1)页面展示
2)页面展示代码
3)JDBC操作
public int update(Goods goods){
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql="update t_goods set gname=?,price=?,mark=? where gid=?";
pstm=con.prepareStatement(sql);
pstm.setObject(1,goods.getGname());
pstm.setObject(2,goods.getPrice());
pstm.setObject(3,goods.getMark());
pstm.setObject(4,goods.getGid());
row=pstm.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (pstm != null) {
pstm.close();
}
if (con != null) {
con.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
return row;
}
4)页面修改
package com.gao.servlet;
import com.gao.bean.Goods;
import com.gao.dao.GoodDao;
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;
@WebServlet("/findById")
public class FindById extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int gid=Integer.parseInt(request.getParameter("gid"));
//根据gid查询商品信息
GoodDao goodDao=new GoodDao();
Goods goods = goodDao.selectById(gid);
if(goods!=null){
//查询商品信息成功,存入request域中然后请求转发到页面展示数据
request.setAttribute("goods",goods);
request.getRequestDispatcher("showGoods.jsp").forward(request,response);
}else {
request.setAttribute("error_msg","修改出现了问题");
request.getRequestDispatcher("error.jsp").forward(request,response);
}
}
}
package com.gao.servlet;
import com.gao.bean.Goods;
import com.gao.dao.GoodDao;
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;
@WebServlet("/update")
public class UpdateGoods extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码
request.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
//获取表单提交的数据,封装到goods对象中
Goods goods=new Goods();
goods.setGid(Integer.parseInt(request.getParameter("gid")));
goods.setGname(request.getParameter("gname"));
goods.setPrice(Double.parseDouble(request.getParameter("price")));
goods.setMark(request.getParameter("mark"));
System.out.println("qqqqqqqqqqqqqqqqqqqqqqqqqq");
System.out.println(goods);
//执行JDBC操作
GoodDao goodDao=new GoodDao();
int row = goodDao.update(goods);
if(row>0){
request.getRequestDispatcher("selectAllGoods").forward(request,response);
}else {
request.setAttribute("error_msg","修改出现了问题");
request.getRequestDispatcher("error.jsp").forward(request,response);
}
}
}
2.模糊查询(select * from t_goods where gname like concat('%',?,'%'))
1)页面展示
2)页面代码展示
3)JDBC操作
public List<Goods> Seach(String keyword) {
List<Goods> goodsList = new ArrayList<>();
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "select * from t_goods where gname like concat('%',?,'%')";
pstm = con.prepareStatement(sql);
pstm.setObject(1,keyword);
rs = pstm.executeQuery();
while (rs.next()) {
//把当前数据行中的数据取出来,存储到Goods对象中
Goods goods = new Goods();
goods.setGid(rs.getInt("gid"));
goods.setGname(rs.getString("gname"));
goods.setPrice(rs.getDouble("price"));
goods.setMark(rs.getString("mark"));
//把Goods对象储存到集合中
goodsList.add(goods);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//8.关闭资源
try {
if (rs != null) {
rs.close();
}
if (pstm != null) {
pstm.close();
}
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return goodsList;
}
4)模糊查询
package com.gao.servlet;
import com.gao.bean.Goods;
import com.gao.dao.GoodDao;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
@WebServlet("/seach")
public class Seach extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1设置编码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//2.找关键词
String keyword = request.getParameter("keyword");
//3.执行JDBC模糊查询
GoodDao goodDao=new GoodDao();
List<Goods> goodsList = goodDao.Seach(keyword);
//4.把模糊查询的商品信息集合存储到session中
HttpSession session = request.getSession();
session.setAttribute("goodsList",goodsList);
//5.跳转到主页进行信息展示
response.sendRedirect("zhuye.jsp");
}
}