**
SSM图片上传到本地,回显与删除
**@TOC
欢迎使用Markdown编辑器
工作中需要写一个上传图片和删除图片的功能,自己在这里做个总结,第一次写博客,有什么不对的麻烦大家帮忙改正,废话不多说直接上代码吧!
实体类:
/**
*上传图片实体类
* @author wmd
*/
public class Uploadpictures implements Serializable {
/*id*/
private Integer id;
/*图片名称*/
private String pictureName;
/*图片地址*/
private String pictureAddress;
/*上传人ID*/
private Integer userId;
/*上传人部门ID*/
private Integer departmentId;
/*上传时间*/
private Date uploadTime;
/*修改时间*/
private Date xgTime;
/*状态*/
private Integer state;
/*总记录数*/
private Integer total;
}
接口:
/*上传图片*/
public interface UploadpicturesService {
/*添加图片*/
void addPictures(Uploadpictures up);
/*查询所有图片信息*/
List<Uploadpictures> getAll(Integer num, Integer pageSize);
/*修改图片名称回显查询*/
Uploadpictures findPicture(String id);
/*修改图片名称保存*/
Integer updatePicture(Uploadpictures up);
/*删除图片信息*/
Integer deletePicture(String id);
/*删除多条图片信息*/
Integer deleteAllPicture(int id);
}
实现类:
@Service
public class UploadpicturesServiceImpl implements UploadpicturesService {
@Autowired
private UploadpicturesMapper uploadpicturesMapper;
@Override
public void addPictures(Uploadpictures up) {
try {
uploadpicturesMapper.addPictures(up);
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public List<Uploadpictures> getAll(Integer num, Integer pageSize) {
return uploadpicturesMapper.getAll(num,pageSize);
}
@Override
public Uploadpictures findPicture(String id) {
return uploadpicturesMapper.findPicture(id);
}
@Override
public Integer updatePicture(Uploadpictures up) {
return uploadpicturesMapper.updatePicture(up);
}
@Override
public Integer deleteAllPicture(int id) {
return uploadpicturesMapper.deleteAllPicture(id);
}
@Override
public Integer deletePicture(String id) {
return uploadpicturesMapper.deletePicture(id);
}
}
mapper接口:
/**
* 上传图片
* @author wmd
*
*/
public interface UploadpicturesMapper {
/*添加图片*/
void addPictures(Uploadpictures up);
/*查询所有图片信息*/
List<Uploadpictures> getAll(@Param("num") Integer num, @Param("pageSize") Integer pageSize);
/*修改回显查询*/
Uploadpictures findPicture(String id);
/*修改图片名称保存*/
Integer updatePicture(Uploadpictures up);
/*删除图片信息*/
Integer deletePicture(String id);
/*删除多条图片信息*/
Integer deleteAllPicture(int id);
}
mapper.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.zheng.oa.dao.mapper.UploadpicturesMapper">
<resultMap id="BaseResultMap" type="com.zheng.oa.dao.model.Uploadpictures">
<id column="id" property="id" />
<result column="pictureName" property="pictureName" />
<result column="pictureAddress" property="pictureAddress" />
<result column="userId" property="userId" />
<result column="departmentId" property="departmentId" />
<result column="uploadTime" property="uploadTime" />
<result column="state" property="state" />
<result column="xgTime" property="xgTime" />
</resultMap>
<insert id="addPictures" parameterType="com.zheng.oa.dao.model.Uploadpictures">
INSERT into oa_uploadpictures (pictureName,pictureAddress,userId,departmentId,uploadTime) VALUE (#{pictureName},
#{pictureAddress},#{userId},#{departmentId},now())
</insert>
<select id="getAll" resultMap="BaseResultMap">
select id, pictureName,pictureAddress,
(SELECT COUNt(*) FROM oa_uploadpictures up where up.state=0) as total
from oa_uploadpictures where state=0 ORDER BY id desc LIMIT #{num}, #{pageSize};
</select>
<select id="findPicture" resultType="com.zheng.oa.dao.model.Uploadpictures">
SELECT pictureName,pictureAddress FROM `oa_uploadpictures` where id=#{id} and state = 0;
</select>
<update id="updatePicture" parameterType="com.zheng.oa.dao.model.Uploadpictures">
UPDATE oa_uploadpictures
SET pictureName = #{pictureName},xgTime = now() where id = #{id}
</update>
<update id="deletePicture" parameterType="String">
DELETE FROM oa_uploadpictures WHERE id = #{id};
</update>
<update id="deleteAllPicture" parameterType="int">
DELETE FROM oa_uploadpictures WHERE id = #{id};
</update>
</mapper>
controller:
package com.zheng.oa.web.controller;
import com.alibaba.fastjson.JSONObject;
import com.zheng.common.base.BaseResult;
import com.zheng.oa.dao.model.Uploadpictures;
import com.zheng.oa.rpc.api.UploadpicturesService;
import org.apache.commons.io.FilenameUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.List;
import java.util.UUID;
/**
* 图片上传
* @author wmd
*/
@Controller
//@RequestMapping(value = "/uploadpictures")
public class UploadpicturesController {
@Autowired
private UploadpicturesService uploadpicturesService;
//@RequiresPermissions("uploadpictures:picture:list")
@GetMapping("/picture")
public String index() {
return "/manage/electronic.jsp";
}
/*上传图片*/
@RequestMapping(value = "/addPictures", method = RequestMethod.POST)
@ResponseBody
public BaseResult addImg(Uploadpictures up, /*@RequestParam(value="file",required=false) MultipartFile[]*/ MultipartFile file,
HttpServletRequest request)thr