效果

ssm实战教程12.修改

编辑页面提交数据

编辑页面提交数据到admin_category_update

<form method="post" id="editForm" action="admin_category_update"

enctype="multipart/form-data">


1. method="post" 用于提交中文
2. enctype="multipart/form-data" 用于提交二进制文件

ssm实战教程12.修改

CategoryMapper.xml

<?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.how2java.tmall.mapper.CategoryMapper">

    <select id="list" resultType="Category">

        select * from   category         order by id desc

        <if test="start!=null and count!=null">

            limit #{start},#{count}

        </if>

 

    </select>

    <select id="total" resultType="int">

        select count(*) from category

    </select>

    <insert id="add"  keyProperty="id"  useGeneratedKeys="true" parameterType="Category" >

        insert into category ( name ) values (#{name})

    </insert>

    <delete id="delete">

        delete from category where id= #{id}

    </delete>

 

    <select id="get" resultType="Category">

        select * from category  where id= #{id}

    </select>

 

    <update id="update" parameterType="Category" >

        update category set name=#{name} where id=#{id}

    </update>

</mapper>

CategoryMapper

package com.how2java.tmall.mapper;

 

import com.how2java.tmall.util.Page;

import com.how2java.tmall.pojo.Category;

 

import java.util.List;

 

public interface CategoryMapper {

     List<Category> list(Page page);

 

     int total();

 

     void add(Category category);

 

     void delete(int id);

 

     Category get(int id);

 

     void update(Category category);

}

CategoryService

package com.how2java.tmall.service;

 

        import com.how2java.tmall.pojo.Category;

        import com.how2java.tmall.util.Page;

        import java.util.List;

 

public interface CategoryService{

    int total();

    List<Category> list(Page page);

 

    void add(Category category);

 

    void delete(int id);

 

    Category get(int id);

 

    void update(Category category);

}

CategoryServiceImpl

package com.how2java.tmall.service.impl;

 

import com.how2java.tmall.util.Page;

import com.how2java.tmall.mapper.CategoryMapper;

import com.how2java.tmall.pojo.Category;

import com.how2java.tmall.service.CategoryService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

 

import java.util.List;

 

@Service

public class CategoryServiceImpl implements CategoryService {

    @Autowired

    CategoryMapper categoryMapper;

 

    @Override

    public List<Category> list(Page page) {

        return categoryMapper.list(page);

    }

 

    @Override

    public int total() {

        return categoryMapper.total();

    }

 

    @Override

    public void add(Category category) {

        categoryMapper.add(category);

    }

 

    @Override

    public void delete(int id) {

        categoryMapper.delete(id);

    }

 

    @Override

    public Category get(int id) {

        return categoryMapper.get(id);

    }

 

    @Override

    public void update(Category category) {

        categoryMapper.update(category);

    }

}

CategoryController

新增update方法
1. update 方法映射路径admin_category_update的访问
1.1 参数 Category c接受页面提交的分类名称
1.2 参数 session 用于在后续获取当前应用的路径
1.3 UploadedImageFile 用于接受上传的图片
2. 通过categoryService更新c对象
3. 首先判断是否有上传图片,如果有上传,那么通过session获取ControllerContext,再通过getRealPath定位存放分类图片的路径。
如果严格按照本教程的做法,使用idea中的tomcat部署的话,那么图片就会存放在:E:\project\tmall_ssm\target\tmall_ssm\img\category 这里
4. 根据分类id创建文件名
5. 通过UploadedImageFile 把浏览器传递过来的图片保存在上述指定的位置
6. 通过ImageUtil.change2jpg(file); 确保图片格式一定是jpg,而不仅仅是后缀名是jpg.
7. 客户端跳转到admin_category_list

@RequestMapping("admin_category_update")

public String update(Category c, HttpSession session, UploadedImageFile uploadedImageFile) throws IOException {

    categoryService.update(c);

    MultipartFile image = uploadedImageFile.getImage();

    if(null!=image &&!image.isEmpty()){

        File  imageFolder= new File(session.getServletContext().getRealPath("img/category"));

        File file = new File(imageFolder,c.getId()+".jpg");

        image.transferTo(file);

        BufferedImage img = ImageUtil.change2jpg(file);

        ImageIO.write(img, "jpg", file);

    }

    return "redirect:/admin_category_list";

}

相关文章:

  • 2021-12-24
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2021-08-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-08
  • 2021-11-21
  • 2021-06-15
  • 2021-12-06
  • 2021-12-06
  • 2021-09-08
  • 2022-12-23
相关资源
相似解决方案