【简单的三层架构】简单的三层架构,修改数据库

本文介绍了一种从前端页面通过隐藏表单元素提交ID至后端的方法,并详细展示了如何利用MyBatis进行数据更新的过程,包括表现层、业务逻辑层及数据访问层的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端页面

需要将表单隐藏的id一起返回给后端

<input type="hidden" name="id" value="${brand.id}">

表现层

@WebServlet("/updateBrandServlet")
public class updateBrandServlet extends HttpServlet {
    private BrandService brandService = new BrandService();
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
//         获取数据
        Map<String, String[]> parameterMap = request.getParameterMap();
        Brand brand = new Brand();
//      将数据一次行封装到实体类中
        try {
            BeanUtils.populate(brand,parameterMap);
        } catch (Exception e) {
            e.printStackTrace();
        }
//      调用业务逻辑层操作数据库修改数据
        brandService.updateBrand(brand);
//       重定向到查询数据库表现层,更新前端页面数据
        response.sendRedirect(request.getContextPath()+"/selectAllServlet");

    }

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

业务逻辑层

public class BrandService {
    //      业务逻辑层操作数据库修改数据
    public void updateBrand(Brand brand) {
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);

        mapper.updateBrand(brand);
    }
}

数据访问层

public interface BrandMapper {
//      数据修改
    void updateBrand(Brand brand);
}

数据库操作

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cyf.mapper.BrandMapper">
<resultMap id="brand" type="com.cyf.pojo.Brand">
    <result column="brand_name" property="brandName"/>
    <result column="company_name" property="companyName"/>
</resultMap>
    <update id="updateBrand">
        update tb_brand set brand_name = #{brandName},company_name = #{companyName},ordered = #{ordered},description = #{description},status = #{status} where id = #{id}
    </update>
</mapper>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值