ssm整合(二)(完)/ssm增删改查基本流程

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ssm整合(二)(完)/ssm增删改查基本流程脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

------------恢复内容开始------------

增加数据-》

1.增加数据+显示图片

1.1编写

ssm整合(二)(完)/ssm增删改查基本流程

 

1.2返回去写后端

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 1.3 补全service以及serviceimpl层

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 1.4 正常项目来说这里已经插进去了,但是因为这个项目的主键是string字符串,因此要通过uuid来生成主键(/没有主键字段无法插入)

(修改1.2)

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

1.5插入成功

ssm整合(二)(完)/ssm增删改查基本流程

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

 1.6插入图片(重点)

老规矩,先测试选择器是否生效

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 继续编写Js代码:

function传入对象e

通过控制台的target得知

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

使用ajax上传图片:

这是添加框的隐藏url,上传图片要用到

ssm整合(二)(完)/ssm增删改查基本流程

 

添加图片里的这个破掉的图片的class,ajax要用到

ssm整合(二)(完)/ssm增删改查基本流程

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

ajax代码:

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 返回去写上传的控制层代码:

注意要保持一致:

ssm整合(二)(完)/ssm增删改查基本流程

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 uploadcontroller.java

@RestController
public class UploadController {
    @RequestMapping("upload")
    public String submit(HttpServletRequest request) throws IOException, ServletException {
        //准备上传路径
        ServletContext servletContext = request.getServletContext();
        String path=servletContext.getRealPath("/upload/");
        File file = new File(path);
        //不存在就创建
        if(!file.exists())
        {
            file.mkdirs();
        }

        //获取part
        //        上传文件:<input type="file" name="imgfile" ><br> 就是跟这个name相同
        Part filePart=request.getPart("imgfile");
        //获取文件名
        String filename=filePart.getSubmittedFileName();

        //《===改名开始===》
        String filenameExtension = StringUtils.getFilenameExtension(filename);
        //生成随机名
        String uuid = UUID.randomUUID().toString();
        String uuidFileName=uuid.replaceAll("-","");
        //替换
        String newFileName=uuidFileName+"."+filenameExtension;
        //《===改名结束===》

        //上传
        filePart.write(path+newFileName);
        return "success";
    }
}

 

web.xml加这句话 不拦截静态资源

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

一顿缝缝补补后的最终代码:

uploadcontroller:

package stu.adam.ssm.controller;

import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import stu.adam.http.AjaxResult;
import stu.adam.ssm.entity.Admin;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.Part;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.UUID;

/**
 * @program: ssm-conformity
 * @description:
 * @author: adam
 * @create: 2021-12-22 16:39
 **/

@RestController
public class UploadController {
    @RequestMapping("upload")
    public AjaxResult upload(HttpServletRequest request) throws IOException, ServletException {

        //3.准备文件上传路径
        ServletContext servletContext = request.getServletContext();
        String realPath = servletContext.getRealPath("/images/");

        File file = new File(realPath);
        if (!file.exists()){
            //创建不存在的文件夹
            file.mkdirs();
        }

        //1.获取文件的part对象
        Part filePart = request.getPart("imageFile");
        //2.获取文件名
        String fileName = filePart.getSubmittedFileName();

        //4.给图片改名
        String filenameExtension = StringUtils.getFilenameExtension(fileName);
        //5.生成随机文件名
        String uuid = UUID.randomUUID().toString();
        String uuidFileName = uuid.replaceAll("-", "");
        System.out.println("uuidFileName======"+uuidFileName);

        //1.扩展新文件名的生成方式可以使用uuid截取和系统时间拼接

        String newFileName = uuidFileName+"."+filenameExtension;

        filePart.write(realPath+newFileName);

        String filePath= realPath+newFileName;

        System.out.println("filePath==="+filePath);
        return AjaxResult.success("http://localhost:8088/images/"+newFileName);

    }

    @RequestMapping("uploadFiles")
    public String uploadFiles(HttpServletRequest request) throws Exception, ServletException {

        //3.准备文件上传路径
        ServletContext servletContext = request.getServletContext();
        String realPath = servletContext.getRealPath("/upload/bb/");

        File file = new File(realPath);
        if (!file.exists()){
            //创建不存在的文件夹
            file.mkdirs();
        }

        //1.获取文件的part对象
        Collection<Part> parts = request.getParts();

        parts.forEach(filePart -> {
            //2.获取文件名
            String fileName = filePart.getSubmittedFileName();
            //4.给图片改名
            String filenameExtension = StringUtils.getFilenameExtension(fileName);
            //5.生成随机文件名
            String uuid = UUID.randomUUID().toString();
            String uuidFileName = uuid.replaceAll("-", "");

            //1.扩展新文件名的生成方式可以使用uuid截取和系统时间拼接
            String newFileName = uuidFileName+"."+filenameExtension;

            try {

                filePart.write(realPath+newFileName);

            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        return "success";

    }


    @RequestMapping("fileUploadIo")
    public String fileUploadIo(HttpServletRequest request,MultipartFile multipartFile) throws IOException {
        //3.准备文件上传路径
        ServletContext servletContext = request.getServletContext();
        String realPath = servletContext.getRealPath("/upload/cc/");
        File file1 = new File(realPath);
        if (!file1.exists()){
            file1.mkdirs();
        }
        String originalFilename = multipartFile.getOriginalFilename();
        //上传文件
        multipartFile.transferTo(new File(realPath+originalFilename));


        return "success";
    }

}

admin.js

    //    《---------------添加图片开始---------------》
    //id选择器
    //e是整个对象(就是传过去的图片)
    $("#avater").change(
        function (e) {
        // console.log(e)
         // console.log("图片发生了更改!")
        var file=e.target.files[0];
            var formData=new FormData();
        formData.append("imageFile",file)

            $.ajax({
                //上传图片路径
                url:"/upload",
                type: "post",
                data: formData,
                processData: false, // 告诉jQuery不要去处理发送的数据
                contentType: false, // 告诉jQuery不要去设置Content-Type请求头
                success: function(response) {
                //    查看是否收到数据
                    console.log(response.data)
                    //图片回显
                    $(".bookimage").attr("src",response.data);
                    $("#imgUrl").val(response.data)
                }
            });

        }
    )

    //    《---------------添加图片结束---------------》

1.7页面图片显示:直接进行拼接即可

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 效果:

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 ---添加结束

 

2.上方模糊查询(条件查询)

(写到分页里面)

2.1

实体类

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 2.2控制层修改

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 2.3

serviceimpl修改:

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 2.4:

分页功能

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 2.5:

按钮修改:

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

 

2.6

注意事项:表单name要与数据库字段相同

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 -- 模糊查询结束

 

3.清空添加框里的内容(添加功能完后它不会自动清空)

实现步骤 每次点击添加用户里面的内容就自动清空

3.1 原本效果

ssm整合(二)(完)/ssm增删改查基本流程

 

3.2 js代码

 

ssm整合(二)(完)/ssm增删改查基本流程

 

3.3html代码

 

ssm整合(二)(完)/ssm增删改查基本流程

 3.4 结束 ,效果不好展示

 

 

4.获取id

ssm整合(二)(完)/ssm增删改查基本流程

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

 

 

 5.修改用户信息

5.1信息回填

js回填方法:

ssm整合(二)(完)/ssm增删改查基本流程

 

 后端代码:

ssm整合(二)(完)/ssm增删改查基本流程

 service及mapper省略

效果:

ssm整合(二)(完)/ssm增删改查基本流程

5.2

正式 编辑开始

5.2.1首先明确思路,我们添加和修改用同一个弹窗,因此可以放一个隐藏框,设置value 然后每次点修改或添加就改那个value,通过判断value决定执行的是添加还是编辑方法~

ssm整合(二)(完)/ssm增删改查基本流程

 

 5.2.2 然后就是用id选择器,每次点俺就就该isEdit的value值(中途踩了一个坑,无论是用什么选择器,每个属性只能用同一个click方法,下面的就不生效了)

ssm整合(二)(完)/ssm增删改查基本流程

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 

5.2.3然后就是前端代码,因为表单没放主键值,所以我们这再取一下主键

ssm整合(二)(完)/ssm增删改查基本流程

 

 5.2.3

ssm整合(二)(完)/ssm增删改查基本流程

 

---编辑完

 

 

 6.删除用户信息

这加个id(jquery学的太烂 取值取了一个小时。。)

js代码1

ssm整合(二)(完)/ssm增删改查基本流程

 

 js代码2

ssm整合(二)(完)/ssm增删改查基本流程

 

 后端代码:

ssm整合(二)(完)/ssm增删改查基本流程

 

 

ssm整合(二)(完)/ssm增删改查基本流程

 

 --删除完

--项目增删改查完

 

源码地址:ssmbookmanager: 只完成了用户的增删改查 (gitee.com)

附gitee上传代码地址:通过git 上传本地代码至码云 - 简书 (jianshu.com)

 

 

 

------------恢复内容结束------------

脚本宝典总结

以上是脚本宝典为你收集整理的ssm整合(二)(完)/ssm增删改查基本流程全部内容,希望文章能够帮你解决ssm整合(二)(完)/ssm增删改查基本流程所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据库