JavaWeb05(删除&增加&修改功能实现&连接数据库)

这篇具有很好参考价值的文章主要介绍了JavaWeb05(删除&增加&修改功能实现&连接数据库)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.实现删除功能

1.1 url如何传参?

xx.do?参数=参数值&参数名=参数值

1.2 servlet如何拿对应值?

//根据参数名拿到对应的参数值 

String str = req.getParameter("参数名")

1.3 如何询问?

οnclick="return confirm('确定要删除嘛?')"

1.4 代码分析

1.4.1 前端传参

删除 >

1.4.2 后台业务处理

二.实现增加功能

2.1 效果预览

 2.2 代码实现

2.2.1 前端实现

2.2.2 标识列实现

①触发器+序列

--序列

create sequence seq_goods;

--触发器:前触发

create or replace trigger t_goods

before insert

on tb_goods

for each row 

begin

        :new.gid:=seq_goods.nextval;---插入之前给商品编号列赋值

end;

②取表的最大序号+1

三.实现修改功能

3.1 总思路

3.2 效果预览

3.3 核心代码分析

3.3.1 修改前业务处理(servlet:preupdate.do)

//实例化dao对象  GoodsDao gd = new GoodsDao();

//接收修改的id  String gid=req.getParameter("gid");

//调用单个查询的方法(根据gid拿到商品对象=单个查询)  Goods goods = gd.getGoods(gid);//存起来   req.setAttribute("goods", goods);

 //转发到修改界面进行绑值   req.getRequestDispatcher("update.jsp").forward(req, resp);        

3.3.2 前端页面处理(update.jsp)

①页面显示编号  但不可编辑

商品编号:

商品名称:
 

②页面不显示编号  隐藏域传值

 

     

3.3.3 修改后业务处理(servlet:update.do)

 //重定向跳转去加载并展示数据            resp.sendRedirect("goods.do");        }        else {            out.print("");        }


一.实现删除功能

1.1 url如何传参?

xx.do?参数=参数值&参数名=参数值

1.2 servlet如何拿对应值?

//根据参数名拿到对应的参数值 

String str = req.getParameter("参数名")

1.3 如何询问?

onclick="return confirm('确定要删除嘛?')"

1.4 代码分析

1.4.1 前端传参

<a href="delete.do?gid=${g.gid }" >删除 ></a>

1.4.2 后台业务处理

	//实例化dao对象
		GoodsDao gd = new GoodsDao();
    //接收删除的id
		String gid=req.getParameter("gid");

    //调用dao方法 连接数据库进行判断
    /**
	 * 删除商品
	 * @param gid 商品编号
	 * @return 影响行数
	 */
	public int delete(String gid) {
		int n = 0;
		try {
			con=DBHelper.getCon();
			String sql="delete from tb_goods where gid="+gid;
			ps=con.prepareStatement(sql);
			n=ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			DBHelper.myClose(con, ps, rs);
		}
		return n;
	}
    //运用
    //调用删除的dao方法
		int n = gd.delete(gid);
		if(n>0) {//删除成功
			resp.sendRedirect("goods.do");
		}
		else {
			out.print("<script>alert('删除失败');location.href='goods.do';</script>");
		}

二.实现增加功能

2.1 效果预览

JavaWeb05(删除&增加&修改功能实现&连接数据库)

 2.2 代码实现

2.2.1 前端实现

	//实例化dao对象
		GoodsDao gd = new GoodsDao();
		//设置编码方式
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html; charset=UTF-8");
		
		//获取session和out
		HttpSession session = req.getSession();
		PrintWriter out = resp.getWriter();
		
		//接收表单提交过来的数据(增加)
		String gname=req.getParameter("gname");
		String s=req.getParameter("gprice");
		double gprice=Double.parseDouble(s);
		String ginfo=req.getParameter("ginfo");
		//实例化一个对象
		Goods g = new Goods(gname, gprice, ginfo);
		//调用增加的dao方法
		int n = gd.addGoods(g);
		if(n>0) {//增加成功
			resp.sendRedirect("goods.do");
		}
		else {
			out.print("<script>alert('增加失败');location.href='add.jsp';</script>");
		}

    //dao方法
        /**
	 * 增加商品
	 * @param g 商品对象
	 * @return 返回影响行数
	 */
	public int addGoods(Goods g) {
		int n = 0;
		int gid = getID("gid", "tb_goods");
		g.setGid(gid);
		try {
			con=DBHelper.getCon();
			String sql="insert into tb_goods(gid,gname,gprice,ginfo) values(?,?,?,?)";
			ps=con.prepareStatement(sql);
			//给占位符赋值4个
			ps.setInt(1, g.getGid());
			ps.setString(2, g.getGname());
			ps.setDouble(3, g.getGprice());
			ps.setString(4, g.getGinfo());
			n=ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			DBHelper.myClose(con, ps, rs);
		}
		return n;
	}

2.2.2 标识列实现

①触发器+序列

--序列

create sequence seq_goods;

--触发器:前触发

create or replace trigger t_goods

before insert

on tb_goods

for each row 

begin

        :new.gid:=seq_goods.nextval;---插入之前给商品编号列赋值

end;

②取表的最大序号+1

/**
     * 获取id
     * @param colName     列名
     * @param tabName 表名
     * @return
     */

    public int getID(String colName,String tabName) {//uuid tb_user
        int n = 0;
        try {
            con=DBHelper.getCon();
            String sql="select nvl(max("+colName+"),0)+1 from "+tabName;
            ps=con.prepareStatement(sql);
            rs=ps.executeQuery();
            if(rs.next()) {
                n=rs.getInt(1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DBHelper.myClose(con, ps, rs);
        }
        return n;
    }

三.实现修改功能

3.1 总思路

JavaWeb05(删除&增加&修改功能实现&连接数据库)

3.2 效果预览

JavaWeb05(删除&增加&修改功能实现&连接数据库)文章来源地址https://www.toymoban.com/news/detail-431684.html

3.3 核心代码分析

3.3.1 修改前业务处理(servlet:preupdate.do)

//实例化dao对象
  GoodsDao gd = new GoodsDao();

//接收修改的id
  String gid=req.getParameter("gid");

//调用单个查询的方法(根据gid拿到商品对象=单个查询)
  Goods goods = gd.getGoods(gid);
//存起来
   req.setAttribute("goods", goods);

 //转发到修改界面进行绑值
   req.getRequestDispatcher("update.jsp").forward(req, resp);
        

3.3.2 前端页面处理(update.jsp)

①页面显示编号  但不可编辑

商品编号:<input name="gid"  value="${goods.gid }" readonly="readonly"/><br/><br/>
商品名称:<input name="gname"  value="${goods.gname }"/><br/><br/>

②页面不显示编号  隐藏域传值

 <!-- 隐藏域传值:会随着表单的提交而提交 根据name值拿value值  必须写在表单 -->

      <input type="hidden" name="gid" value="${goods.gid}"/>

3.3.3 修改后业务处理(servlet:update.do)

        //实例化dao对象
        GoodsDao gd = new GoodsDao();
        //设置编码方式
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html; charset=UTF-8");
        
        //获取session和out
        HttpSession session = req.getSession();
        PrintWriter out = resp.getWriter();
        
        //接收表单提交过来的数据(增加)
        String gid=req.getParameter("gid");
        String gname=req.getParameter("gname");
        String s=req.getParameter("gprice");
        double gprice=Double.parseDouble(s);
        String ginfo=req.getParameter("ginfo");
        //实例化一个对象
        Goods g = new Goods(gname, gprice, ginfo);
        //调用修改的dao方法  连接数据库进行判断
        int n = gd.updateGoods(g, gid);
        if(n>0) {//修改成功

        //重定向跳转去加载并展示数据
            resp.sendRedirect("goods.do");
        }
        else {
            out.print("<script>alert('修改失败');location.href='preupdate.do?gid="+gid+"';</script>");
        }

到了这里,关于JavaWeb05(删除&增加&修改功能实现&连接数据库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【日常收支账本】【Day05】编辑账本界面增加删除、更新记录功能——提高代码复用性

    https://github.com/LinFeng-BingYi/DailyAccountBook 点击删除按钮后,获取对应行的数据组成字典,用字典的键值对匹配到对应日期的记录元素; 接着用该字典数据冲正存款账户余额(实现思路为新增记录时的反向操作),同时删除记录元素; 最后再更新表格。 其中处理xml文件的方法代

    2024年02月08日
    浏览(40)
  • Android——Sqlite数据库——实现联系人信息的添加、查询、修改以及删除功能

        掌握常用布局和基本控件的使用方法     掌握界面图像显示的使用方法     掌握SQLite数据库的创建和基本操作方法 通过线性布局和相对布局来搭建Activity界面,在MainActivity中编写逻辑代码,运行程序,输入两条联系人信息分别点击“添加”“查询”“修改”“

    2024年02月07日
    浏览(48)
  • C++中SQLite数据库操作实例:查询、增加、修改、删除一网打尽

      在C++中使用SQLite数据库需要使用SQLite的C/C++接口。以下是一个简单的示例,演示如何在C++中使用SQLite,并提供了常见的查询、增加、修改和删除功能。为了使用SQLite,你需要下载SQLite的C/C++接口,并链接到你的项目中。 首先,确保你已经下载了SQLite的C/C++接口,然后将头文件

    2024年02月04日
    浏览(49)
  • 请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

    请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型 给本帖投票 56211打赏收藏  分享  转发到动态举报  写回复 性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增 11 条回复  切换为时间正序 请发表友善的回复… 发表回复 microsoft_fly 2008-11-18 还

    2024年02月16日
    浏览(49)
  • 基于Linux系统聊天室增加数据库sqlite功能实现(08)

    全部掌握后,开始进入本篇。 为了方便编译,现在我们将前面文章的代码结构做如下调整。 最终增加了数据的文件目录如下: clean.sh  用于清除临时文件 gcc.sh  用于编译整个工程 服务端代码放置到chat_server目录下;客户端代码放置到chat_client目录下; 数据库相关代码放在

    2024年02月07日
    浏览(47)
  • javaweb实验:JSP+JDBC综合实训_数据库记录的增加、查询

    JSP是一种基于Java的Web编程语言,可以生成动态的网页内容。JDBC是Java数据库连接的缩写,是一种用于访问数据库的标准API。通过使用JSP和JDBC,可以实现在网页上对数据库的操作,如增加、查询、修改和删除数据。本实验的目的是掌握使用JSP和JDBC完成数据库操作的基本方法,

    2024年02月07日
    浏览(55)
  • Elasticsearch 常用的增加、删除、修改、查询语句

    新增 删除 修改 批量增删改 查询 查询指定索引下全部数据 查询指定索引下指定id的数据 查询指定索引下全部数据 查询指定值(match) 在多个字段中查询指定值(multi_match) match、multi_match是模糊匹配,匹配时会对所查找的进行分词,然后按分词匹配查找。 term 查询

    2024年02月03日
    浏览(42)
  • [MySQL]数据的增加(插入)、修改、删除与计算列

    插入数据,即向已有的表中增加一条记录。 1.2.1 为表的所有字段按默认顺序插入数据 语法: 注意:值列表中 需要为表的每一个字段指定值 ,并且 值的顺序必须和数据表中字段定义时的顺序相同 。 1.2.2 为表的指定字段插入数据 为表的指定字段插入数据,就是在INSERT语句中

    2023年04月09日
    浏览(35)
  • 使用javaweb实现登录注册页面,并且对功能和业务进行分层 用户登录成功跳转到主页并展示数据库的商品的信息

    一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录

    2024年02月03日
    浏览(64)
  • 《vue3实战》运用splice方法实现电影评价系统的查看、修改、删除功能

    目录          前言          电影评价系统是什么?它能具有什么功能的体现? 一、splice方法的含义和作用 splice是什么?splice的作用体现在哪些方面?          二、功能实现 以下是实现查看逻辑功能的代码 以下是实现修改逻辑功能的代码  以下是实现删除逻辑功能的代

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包