tomcat对数据库信息对进行添加操作和修改操作

这篇具有很好参考价值的文章主要介绍了tomcat对数据库信息对进行添加操作和修改操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先在接口方法中添加相应接口方法:

//添加新产品
    @Insert("insert into db.brand values(null,#{brandName},#{companyName},#{ordered},#{description},#{status})")
    void addBrand(brand brand);

在service中添加对应的方法:

public void addBrand(brand brand){
String resource = "mybatis-config.xml";
            InputStream inputStream = null;
            inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        brandMapper brandMapper = sqlSession.getMapper(brandMapper.class);
        brandMapper.addBrand(brand);
        sqlSession.commit();
        sqlSession.close();
    }

然后开始写添加新产品的信息jsp

<%--
  Created by IntelliJ IDEA.
  User: quwenhao
  Date: 2023/12/28
  Time: 19:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加品牌</title>
</head>
<body>
<h3>添加品牌</h3>
<form action="/brandAddService" method="post">
    品牌名称:<input name="brandName"><br>
    企业名称:<input name="companyName"><br>
    排序:<input name="ordered"><br>
    描述信息:<textarea rows="5" cols="20" name="description"></textarea><br>
    状态:<input type="radio" name="status" value="0">禁用
         <input type="radio" name="status" value="1">启用<br>

    <input type="submit" value="提交">
</form>

</body>
</html>

完成后设置表单提交给添加的servlet,下面开始写添加的servlet

package org.example.web;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import org.example.service.brandService;
import org.example.pojo.brand;

@WebServlet("/brandAddService")
public class brandAddService extends HttpServlet {
    private brandService brandService=new brandService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //处理post类型乱码问题
        request.setCharacterEncoding("utf-8");

        String brandName = request.getParameter("brandName");
        String companyName = request.getParameter("companyName");
        String ordered = request.getParameter("ordered");
        String description = request.getParameter("description");
        String status = request.getParameter("status");

        //封装成brand对象
        brand brand=new brand();
        brand.setBrandName(brandName);
        brand.setCompanyName(companyName);
        brand.setOrdered(Integer.parseInt(ordered));
        brand.setDescription(description);
        brand.setStatus(Integer.parseInt(status));

        //调用Service添加方法
        brandService.addBrand(brand);

        //转发到查询所有
        request.getRequestDispatcher("/brandSelectAllService").forward(request,response);

    }

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

在brand.jsp中我们通过设置了新增按钮来添加信息,<input type="button" value="新增" id="addBrand"><br>。我们可以运用javaScript获取其id为其添加跳转功能

在body标签末尾添加下面代码,添加跳转功能。

<script>
    document.getElementById("addBrand").onclick=function (){
        location.href="/addBrand.jsp";
    }
</script>

下面是修改操作:想对特定某条信息进行修改,需要先根据id查询到特定的信息,然后在进行修改。

接口方法:

//根据id查询
    @Select("select * from db.brand where id=#{id}")
    @ResultMap("brandResultMap")
    brand selectByIdBrand(int id);

    //根据id,修改特定的产品的信息
    @Update("update db.brand set brand_Name=#{brandName},company_name=#{companyName},ordered=#{ordered},description=#{description},status=#{status} where id=#{id}")
    void update(brand brand);

service:

public brand brandSelectById(int id){
String resource = "mybatis-config.xml";
            InputStream inputStream = null;
            inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        brandMapper brandMapper = sqlSession.getMapper(brandMapper.class);
        brand brand = brandMapper.selectByIdBrand(id);

        sqlSession.close();
        return brand;
    }

    public void Update(brand brand){
String resource = "mybatis-config.xml";
            InputStream inputStream = null;
            inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        brandMapper brandMapper = sqlSession.getMapper(brandMapper.class);
        brandMapper.update(brand);
        sqlSession.commit();
        sqlSession.close();
    }

然后写根据id查询到的特定产品的详细信息的jsp:

<%--
  Created by IntelliJ IDEA.
  User: quwenhao
  Date: 2023/12/28
  Time: 20:15
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
    <title>修改品牌</title>
</head>
<body>
<h3>修改品牌</h3>
<form action="/updateServlet" method="post">

<%--    隐藏域,提交id--%>
    <input type="hidden" name="id" value="${brand.id}">

    品牌名称:<input name="brandName" value="${brand.brandName}"><br>
    企业名称:<input name="companyName" value="${brand.companyName}"><br>
    排序:<input name="ordered" value="${brand.ordered}"><br>
    描述信息:<textarea rows="5" cols="20" name="description">${brand.description}</textarea><br>
    状态:
    <c:if test="${brand.status==0}">
        <input type="radio" name="status" value="0" checked>禁用
        <input type="radio" name="status" value="1">启用<br>
    </c:if>
    <c:if test="${brand.status==1}">
    <input type="radio" name="status" value="0">禁用
    <input type="radio" name="status" value="1" checked>启用<br>
    </c:if>

    <input type="submit" value="提交">
</form>

</body>
</html>

然后写的是特定产品的详细信息的Servlet:

package org.example.web;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

import org.example.pojo.brand;
import org.example.service.brandService;

@WebServlet("/selectByIdService")
public class selectByIdService extends HttpServlet {

    private brandService brandService=new brandService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接收id
        String id = request.getParameter("id");
        //2.service查询
        brand brand = brandService.brandSelectById(Integer.parseInt(id));
        //3.存储到request中
        request.setAttribute("brand",brand);
        //4.转发
        request.getRequestDispatcher("/selectById.jsp").forward(request,response);
    }

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

我们想调用该servlet根据id查询详细信息,需要先知道该信息的id,所以在跳转到该servlet时应把id传过来。所以brand.jsp中修改信息的跳转链接应该这样写,将#改为下面的链接。

 <td><a href="/selectByIdService?id=${brand.id}">修改</a>

这样我们在打开修改页面的时候,该产品原本的信息会自动填写在文本框中。

修改信息完后,会将该表单提交到updateServlet中,执行修改操作:

package org.example.web;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import org.example.pojo.brand;
import org.example.service.brandService;

@WebServlet("/updateServlet")
public class updateServlet extends HttpServlet {
    brandService brandService=new brandService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String brandName = request.getParameter("brandName");
        String companyName = request.getParameter("companyName");
        String ordered = request.getParameter("ordered");
        String description = request.getParameter("description");
        String status = request.getParameter("status");
        String id=request.getParameter("id");

        brand brand=new brand();
        brand.setBrandName(brandName);
        brand.setCompanyName(companyName);
        brand.setOrdered(Integer.parseInt(ordered));
        brand.setDescription(description);
        brand.setStatus(Integer.parseInt(status));
        brand.setId(Integer.parseInt(id));

        brandService.Update(brand);

        request.getRequestDispatcher("/brandSelectAllService").forward(request,response);
    }

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

这样就可以完成修改操作了文章来源地址https://www.toymoban.com/news/detail-784357.html

到了这里,关于tomcat对数据库信息对进行添加操作和修改操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Qt 添加MySQL驱动教程 以及 操作数据库(增删查改)

    Qt 添加MySQL驱动教程 以及 操作数据库(增删查改)

    前言: 使用MySQL数据库前我们必须添加MySQL驱动,有了驱动我们才能连接数据库,连接数据库成功后才能操作数据库(增删查改)。 Qt 添加MySQL驱动教程 如下(本人亲测成功版): https://download.csdn.net/download/qq_42432673/88093467 在数据库中创建表,表结构如下: 现在驱动已经引入

    2024年02月15日
    浏览(25)
  • 如何使用PyQt进行数据库操作?

    首先,我们要知道,PyQt是一个非常强大的图形用户界面(GUI)开发库,它允许我们使用Python语言创建美观且高度交互的桌面应用程序。然而,对于数据库操作,PyQt并不直接提供此类功能。这需要我们使用其他的数据库库,例如SQLite、MySQL或PostgreSQL等。 对于新手来说,我建议

    2024年02月11日
    浏览(45)
  • Linux C++ 链接数据库并对数据库进行一些简单的操作

    Linux C++ 链接数据库并对数据库进行一些简单的操作

                    包含了连接数据库的头文件和库文件                 MYSQL 数据库链接句柄                 mysql_init(MYSQL* mysql) 用来初始化数据库连接句柄,需要传入一个句柄并返回一个指向句柄的指针                 mysql_real_connect(连接句柄,用

    2024年02月14日
    浏览(11)
  • ②【MySQL表操作】 数据库表的创建、查询、修改、删除

    ②【MySQL表操作】 数据库表的创建、查询、修改、删除

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 数据库表中的数据类型 : 数值类型: TINYINT :小整数 SMALLINT :大整数 MEDIUMINT :大整数,范围大于SMALLINT

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

    C++中SQLite数据库操作实例:查询、增加、修改、删除一网打尽

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

    2024年02月04日
    浏览(12)
  • Mysql 数据库DML 数据操作语言—— 对数据库表中的数据进行更改UPDATE 和删除DELETE

    Mysql 数据库DML 数据操作语言—— 对数据库表中的数据进行更改UPDATE 和删除DELETE

        delete语句可以有条件,也可以没有,如果没有条件的话就是删除整张表 delete不可以删除表中某一个字段的值,但是update可以; 

    2024年01月19日
    浏览(16)
  • Linux下连接Oracle数据库并进行一系列操作

    Linux下连接Oracle数据库并进行一系列操作

    操作Oracle要确保服务器上已经安装了Oracle数据库 1.连接到有Oracle数据库的服务器 ssh 172.16.100.201 (服务器IP)如图 2.根据提示,输入服务器root密码,输入无误即可连接。 切换到Oracle数据库 su - oracle 3.切换成功后会显示Oracle用户,如:[oracle@cicro201 ~]$ 4.切换到sqlplus操作 切换成功

    2024年02月08日
    浏览(46)
  • java进行数据库操作的并发控制的2种方法

    本文分享自华为云社区《java进行数据库操作的并发控制》,作者:张俭。 在现代应用编码中,从数据库里面find出来,进行一些业务逻辑操作,最后再save回去。即: 但是这样的业务操作,如果一个线程修改年龄,另一个线程修改昵称,最后save回去,可能会导致年龄/昵称某一

    2024年02月04日
    浏览(14)
  • Langchain+本地大语言模型进行数据库操作的实战代码

    Langchain+本地大语言模型进行数据库操作的实战代码

      大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的

    2024年02月10日
    浏览(10)
  • Linux环境下(CentOS操作系统)如何修改MySQL数据库及Redis的密码?

    Linux环境下(CentOS操作系统)如何修改MySQL数据库及Redis的密码?

    【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!   《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享; 欢迎商业项目咨询,10年+软硬全

    2024年02月15日
    浏览(15)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包