通过数据库后端把数据响应到jsp前端  java代码通过JDBC连接数据库、做出增加、删除、修改、全查操作。

目录

一、数据库内容

二.全查操作

三、添加操作

四、删除操作

五、修改操作

一、数据库内容

#判断存在即删除数据库
drop database if exists mydb;
#创建数据库
create database mydb;
#使用数据库
use mydb;#创建表
create table t_user
(uid int primary key auto_increment,username varchar(20),password varchar(20),phone varchar(11),address varchar(50)
);insert into t_user(username,password,phone,address) values('张三','666','18965423548','南阳');
insert into t_user(username,password,phone,address) values('李四','333','18754263548','许昌');
insert into t_user(username,password,phone,address) values('小美','123','18565234759','信阳');select * from t_user where username=? and password=?
select * from t_user;create table t_goods
(gid int primary key auto_increment,gname varchar(20),price double,mark varchar(100)
);insert into t_goods(gname,price,mark) values('泡面',4.5,'够香够辣就是这个味!');
insert into t_goods(gname,price,mark) values('火腿',8.5,'肉质细腻Q弹!');
insert into t_goods(gname,price,mark) values('雪碧',3.5,'清爽冰凉随心爽!');select * from t_goods;

 1.用户信息

 2.商品信息

二.全查操作

1.创建一个关于商品的jsp文件(goods.jsp)

goods.jsp:


<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head><title>登陆成功</title>
</head>
<body style="background-color: lightblue;margin: 200px auto;
background-image:url(img/3.jpg);background-size: 100% 100%">
<h1>登录成功</h1>
<h2>欢迎来自${user.address}的${user.username}访问主页</h2>
<table><thead><!--<a href="addGoods.jsp">添加商品</a>--><tr><th>商品编号</th><th>商品名称</th><th>商品价格</th><th>商品说明</th></tr></thead><tboby id="List"><c:forEach items="${goodsList}" var="goods"><tr><td> ${goods.gid}</td><td> ${goods.gname}</td><td> ${goods.price}</td><td> ${goods.mark}</td><td><a href="#">修改</a><a href="dell?gid=${goods.gid}">删除</a></td></tr></c:forEach></tboby>
</table></body>
</html>

2.创建一个selectAll方法

ublic List<Goods> selectAll() {List<Goods> goodsList = new ArrayList<>();try {Class.forName(jdbcdirver);con = DriverManager.getConnection(jdbcurl, jdbcuser, jdbcpassword);String sql = "select * from t_goods";pstm = con.prepareStatement(sql);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"));//把当前行对应的对象存储到集合中goodsList.add(goods);}} catch (Exception e) {e.printStackTrace();} finally {try {if (rs != null) {rs.close();}if (pstm != null) {pstm.close();}if (con != null) {con.close();}} catch (SQLException e) {e.printStackTrace();}}return goodsList;}

 3.创建一个Servlet类(servletAllGoods类)

package com.nai.servlet;import com.nai.Dao.impl.GoodsDaoImpl;
import com.nai.bean.Goods;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.List;@WebServlet("/selectAllGoods")
public class servletAllGoods extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//查询所有商品的信息GoodsDaoImpl goodsDao=new GoodsDaoImpl();List<Goods> goodsList=goodsDao.selectAll();System.out.println(goodsList);//把数据传递到前端页面//通过request获取session对象,该对象可以向前端传输数据的容器HttpSession session =request.getSession();//向session中存入商品信息集合session.setAttribute("goodsList",goodsList);//登录成功,跳转到上面response.sendRedirect("goods.jsp");}
}

三、添加操作

步骤图:

首先创建一个主页 文件  加入添加代码(超链接)


<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head><title>登陆成功</title>
</head>
<body style="background-color: lightblue;margin: 200px auto;
background-image:url(img/3.jpg);background-size: 100% 100%">
<h1>登录成功</h1>
<h2>欢迎来自${user.address}的${user.username}访问主页</h2>
<table><thead><a href="addGoods.jsp">添加商品</a><tr><th>商品编号</th><th>商品名称</th><th>商品价格</th><th>商品说明</th></tr></thead><tboby id="List"><c:forEach items="${goodsList}" var="goods"><tr><td> ${goods.gid}</td><td> ${goods.gname}</td><td> ${goods.price}</td><td> ${goods.mark}</td><td><a href="#">修改</a><a href="dell?gid=${goods.gid}">删除</a></td></tr></c:forEach></tboby>
</table></body>
</html>

 其次创建一个 有关商品添加的jsp文件

<%--Created by IntelliJ IDEA.User: 奈申博Date: 2023/2/24Time: 14:04To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<form action="addGood" method="post">
商品名称:<input  type="text" name="gname" value="" placeholder="商品名称"><br>
商品价格:<input  type="number" step="0.01" name="price" value="" placeholder="商品价格"><br>
商品说明:<input type="text" name="mark" value="" placeholder="商品说明"><br>
<input type="submit" value="添加" >
</form>
</body>
</html>

 创建一个添加(add)方法

public int add(Goods goods) {System.out.println("执行add");try {Class.forName(jdbcdirver);con = DriverManager.getConnection(jdbcurl, jdbcuser, jdbcpassword);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());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;}

 最后创建Java代码 Servlet类(AddGoods类)

package com.nai.servlet;import com.nai.Dao.impl.GoodsDaoImpl;
import com.nai.bean.Goods;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/addGood")
public class AddGoods extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("执行AddGoods");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取请求参数并封装到Goods对象中Goods goods= new Goods();goods.setGname(request.getParameter("gname"));//数据转换goods.setPrice(Double.parseDouble(request.getParameter("price")));// request.getParameter("price");goods.setMark(request.getParameter("mark"));//执行JDBC的添加操作GoodsDaoImpl  goodsDao= new GoodsDaoImpl();int row=goodsDao.add(goods);if(row>0){//添加成功请求selectAllGoods地址 执行对应的select(查询商品信息 存入session中 跳转到主页)request.getRequestDispatcher("selectAllGoods").forward(request,response);}else {request.setAttribute("user_msg","添加商品出错了!");request.getRequestDispatcher("user.jsp").forward(request,response);}}
}

 添加展示图:

 四、删除操作

步骤图:

 在主页文件 中加入删除商品的代码(超链接)


<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head><title>登陆成功</title>
</head>
<body style="background-color: lightblue;margin: 200px auto;
background-image:url(img/3.jpg);background-size: 100% 100%">
<h1>登录成功</h1>
<h2>欢迎来自${user.address}的${user.username}访问主页</h2>
<table><thead><a href="addGoods.jsp">添加商品</a><tr><th>商品编号</th><th>商品名称</th><th>商品价格</th><th>商品说明</th></tr></thead><tboby id="List"><c:forEach items="${goodsList}" var="goods"><tr><td> ${goods.gid}</td><td> ${goods.gname}</td><td> ${goods.price}</td><td> ${goods.mark}</td><td><a href="#">修改</a><a href="dell?gid=${goods.gid}">删除</a></td></tr></c:forEach></tboby>
</table></body>
</html>

创建一个删除(delect)方法 

public int delect(int gid)  {System.out.println("执行DE");try {Class.forName(jdbcdirver);con = DriverManager.getConnection(jdbcurl, jdbcuser, jdbcpassword);String sql = "delete from t_goods where gid=?";pstm = con.prepareStatement(sql);pstm.setObject(1,gid);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;}

 再创建一个Servlet类(DellGoods类)

package com.nai.servlet;import com.nai.Dao.impl.GoodsDaoImpl;
import com.nai.until.JDBCUtil;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.sql.Connection;@WebServlet("/dell")
public class DellGoods extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//        解决中文乱码问题request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");int id =Integer.parseInt(request.getParameter("gid"));Connection con = null;int user =0;GoodsDaoImpl goodsDao = new GoodsDaoImpl();user=goodsDao.delect(id);if (user>0){request.getRequestDispatcher("selectAllGoods").forward(request,response);}else {response.sendRedirect("user.jsp");}}}

删除展示图:(删除可乐 )

五、修改操作

创建一个Servlet类(FindGoodsById类)通过gid查询商品信息

package com.nai.servlet;import com.nai.Dao.impl.GoodsDaoImpl;
import com.nai.bean.Goods;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/findById")
public class FindGoodsById extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int gid=Integer.parseInt(request.getParameter("gid"));//根据gid查询商品信息GoodsDaoImpl goodsDao= new GoodsDaoImpl();Goods goods=goodsDao.selectById(gid);if(goods!=null){//把数据存储到request域对象中 然后请求转发到页面request.setAttribute("goods",goods);request.getRequestDispatcher("showGoods.jsp").forward(request,response);}else{//登录失败  跳转到错误页面request.setAttribute("user_msg","修改出现异常");request.getRequestDispatcher("user.jsp").forward(request,response);}}
}

 再创建一个修改方法 (UpdateGoods类)

public int UpdateGoods(Goods goods){int row=0;try{Class.forName(jdbcdirver);con=  DriverManager.getConnection(jdbcurl,jdbcuser,jdbcpassword);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;}

 和一个jsp文件 有关商品修改主页

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>商品信息管理员</title>
</head>
<body>
<form action="updateGoods" method="post">商品编号:<input  type="text" name="gid" value="${goods.gid}" placeholder="商品编号" readonly="readonly"><br>商品名称:<input type="text" name="gname" value="${goods.gname}" placeholder="商品名称"><br>商品价格:<input  type="number" step="0.01" name="price" value="${goods.price}" placeholder="商品价格"><br>商品说明:<input type="text" name="mark" value="${goods.mark}" placeholder="商品说明"><br>
<input type="submit" value="修改" >
</form>
</body>
</html>

最后跳转到后端java代码 servlet类中的UpdateGoods类中、引用修改方法

package com.nai.servlet;import com.nai.Dao.impl.GoodsDaoImpl;
import com.nai.bean.Goods;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/updateGoods")
public class UpdateGoods extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.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"));//执行JDBCGoodsDaoImpl goodsDao =new GoodsDaoImpl();int row =goodsDao.UpdateGoods(goods);if (row>0){request.getRequestDispatcher("selectAllGoods").forward(request,response);}else {request.setAttribute("user_msg","修改商品出错了!");request.getRequestDispatcher("user.jsp").forward(request,response);}}}

修改 展示:

有关商品业务的增加、删除、修改、全查。相关推荐

  1. php mysql增改删_PHP分享:如何实现MySQL的增加删除修改查看

    原标题:PHP分享:如何实现MySQL的增加删除修改查看 各位朋友,大家上午好! 今天给大家带来的是 如何实现MySQL的增加删除修改查看! 这里就需要用到一个PHP MySQL的增加删除修改查看的类 ...

  2. java 解析/操作 xml 几种常用方式 xml的增加/删除/修改

    java 解析/操作 xml 几种常用方式 xml的增加/删除/修改 首先,我们先介绍几种常用的xml解析器. 1. 介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方 ...

  3. JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询

    JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPOL进行查询 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技 ...

  4. jquery(js) 增加 删除 修改属性样式、元素内容

    引入jquery.js 1.增加或修改样式 $('#id').css('display','none');--根据id设置隐藏 2.$("#id").css({"back ...

  5. 商品的增加删除修改和查询

    运行结果: GoodsDao package com.itheima.dao;import com.itheima.pojo.Goods; import com.itheima.utils.Druid ...

  6. 工作中遇到的问题--使用注解进行增加删除修改的验证

    自定义验证的注解: /**  * This constraint is to be put on object level for which need to validate on the Prod ...

  7. 数据库简介、SQL 语的增加删除修改查询命令

    一.数据库简介 1.使用数据库的必要性 A.结构化存储大量数据,便于高效的检索和访问 B.有效地保持数据信息的一致性.完整性,降低数据冗余 C.满足数据共享和安全方面的要求 2.数据 描述事物的符号记 ...

  8. vue element 表格增加删除修改数据

    这里用到是设置一个弹出框来实现此功能,还有一种方法是直接在原来的基础上面进行修改 效果如下: 表格的table: <el-table :data="tableData" st ...

  9. Sql增加,删除,修改列及修改约束

    查看约束条件 MySQL: SELECT * FROM information_schema.TABLE_CONSTRAINTS where table_name = 'book'; Oracle: ...

最新文章

  1. ElasticSearch2.2.0安装
  2. oracle spatial(一)开端
  3. sonar做代码检测时如何忽略一些代码文件
  4. c语言蓝桥十进制转十六进制,蓝桥杯 基础练习 十进制转十六进制
  5. PCB第二节知识整理
  6. php漏洞论坛,PHPWind超级漏洞简单用
  7. Android 编程下的四大组件之服务(Service)
  8. [Xcode 实际操作]五、使用表格-(11)调整UITableView的单元格顺序
  9. ssm框架中前台html如何接受后台的数据_计算机毕业设计中实现java后台的微信小程序...
  10. map、forEach与filter实例详解
  11. AI持续赋能,搜狗S1会给录音笔行业带来哪些新变化?
  12. mysql的驱动jar包_各版本MySQL数据库驱动程序jar包大全(java连接mysql驱动jar包)
  13. opencv 4.5.2 使用比色卡进行颜色校正
  14. Zookeeper隐藏通道和羊群效应
  15. java找最长连续号段,字符串—寻找最长连续子串
  16. [轉]值得研究 邓亚萍代表的到底是哪个“国家”?
  17. mouseover、mouseenter
  18. vs2010安装失败(如下图)的解决方法
  19. 微信公众平台基础开发
  20. GADRCRERCERRHRGDWQGKQRCLMECRRREQEED|2243219-65-8

热门文章

  1. 如何设计双Y轴的仪表板图表
  2. EMC经典问答85问(70-74问)
  3. 验证集和测试集有什么区别?
  4. ios设置中性黑体_ios设置黑体/加粗/斜体/Attributes
  5. SAP 物料移动类型
  6. ISCA‘23 | June 17-21,体系结构领域顶会,录取率创新高!华中科大学者担任Publicity Co-Chair!
  7. Bayes' Rule-贝叶斯定理
  8. 名爵如何解除限速_新国标电动车限速怎么解除
  9. 集创赛备赛:Robei八角板7020简介
  10. vivo手机光环助手下载游戏怎么打不开_全新5G自拍手机vivo S6系列正式发布