脚本宝典收集整理的这篇文章主要介绍了ssm整合(二)(完)/ssm增删改查基本流程,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
------------恢复内容开始------------
增加数据-》
1.增加数据+显示图片
1.1编写
1.2返回去写后端
1.3 补全service以及serviceimpl层
1.4 正常项目来说这里已经插进去了,但是因为这个项目的主键是string字符串,因此要通过uuid来生成主键(/没有主键字段无法插入)
(修改1.2)
1.5插入成功
1.6插入图片(重点)
老规矩,先测试选择器是否生效
继续编写Js代码:
function传入对象e
通过控制台的target得知
使用ajax上传图片:
这是添加框的隐藏url,上传图片要用到
添加图片里的这个破掉的图片的class,ajax要用到
ajax代码:
返回去写上传的控制层代码:
注意要保持一致:
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加这句话 不拦截静态资源
一顿缝缝补补后的最终代码:
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页面图片显示:直接进行拼接即可
效果:
---添加结束
2.上方模糊查询(条件查询)
(写到分页里面)
2.1
实体类
2.2控制层修改
2.3
serviceimpl修改:
2.4:
分页功能
2.5:
按钮修改:
2.6
注意事项:表单name要与数据库字段相同
-- 模糊查询结束
3.清空添加框里的内容(添加功能完后它不会自动清空)
实现步骤 每次点击添加用户里面的内容就自动清空
3.1 原本效果
3.2 js代码
3.3html代码
3.4 结束 ,效果不好展示
4.获取id
5.修改用户信息
5.1信息回填
js回填方法:
后端代码:
service及mapper省略
效果:
5.2
正式 编辑开始
5.2.1首先明确思路,我们添加和修改用同一个弹窗,因此可以放一个隐藏框,设置value 然后每次点修改或添加就改那个value,通过判断value决定执行的是添加还是编辑方法~
5.2.2 然后就是用id选择器,每次点俺就就该isEdit的value值(中途踩了一个坑,无论是用什么选择器,每个属性只能用同一个click方法,下面的就不生效了)
5.2.3然后就是前端代码,因为表单没放主键值,所以我们这再取一下主键
5.2.3
---编辑完
6.删除用户信息
这加个id(jquery学的太烂 取值取了一个小时。。)
js代码1
js代码2
后端代码:
--删除完
--项目增删改查完
源码地址:ssmbookmanager: 只完成了用户的增删改查 (gitee.com)
附gitee上传代码地址:通过git 上传本地代码至码云 - 简书 (jianshu.com)
------------恢复内容结束------------
以上是脚本宝典为你收集整理的ssm整合(二)(完)/ssm增删改查基本流程全部内容,希望文章能够帮你解决ssm整合(二)(完)/ssm增删改查基本流程所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。