layui+SpringBoot上传图片到数据库并展示在页面(后端)

写在前面

这是一篇关于怎么上传图片到数据库并展示在页面的,从建表开始

1、首先先想好自己的表格需要什么字段,方便设计数据库字段

在这里插入图片描述

2、设计数据库

在这里插入图片描述

3、使用代码生成器生成entity 、dao 和xml

需要注意的是,在展示数据的时候我们还需获取登录的用户的信息,数据库中user_id就是user表的主键,我们需要通过这个字段和user表建立连接,所以在生成的entity中我们要需要加入一个user类型的属性,用于存储登录用户的信息

 private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

还需要注意的是,我们在页面获取打卡日期字段的时候,我们需要获取的是一个日期,因为我们的数据库字段中的类型是date,所以还需在日期字段上添加:

@JsonFormat(pattern = "yyyy-MM-dd" ,timezone = "GMT+8")
    private Date pushTime;

4、在service中添加方法,继续使用dao层中生成的insert方法

/**
     * 添加打卡信息
     */
    boolean addHealthInfo(Health health);

5、在Impl中实现方法

@Override
    public boolean addHealthInfo(Health health) {
        int num = healthDao.insert(health);//调用dao层中的方法插入到数据库,insert方法已经在mapper中生成,所以不用管了
        if(num>0){
            return true;
        }
        return false;
    }

6、编写controller层

我们需要先上传图片然后回显在页面,最后图片地址和其他信息一起传入数据库,所以我们需要一个上传图片的接口

//上传行程码保存到文件夹并返回路径接口
    @RequestMapping("routeUpload")
    public R RouteUpload(@RequestParam(value = "file") MultipartFile file){
        if(file.isEmpty()){
            System.out.println("图片不存在");
        }
        //获取文件名称
        String fileName= file.getOriginalFilename();
        //获取文件后缀
        String suffixName=fileName.substring(fileName.lastIndexOf("."));
        //随机生成一个文件名
        fileName= UUID.randomUUID()+suffixName;
        //设置上传文件的路径
        String filePath="//G://firstDate//images//";
        //上传
        File dest=new File(filePath,fileName);
        //判断文件路径是否存在,如果不存在 创建
        if(!dest.getParentFile().exists()){
            dest.getParentFile().mkdirs();
        }
        try {
            file.transferTo(dest);
        }catch (Exception e){
            System.out.println("上传出错");
        }
        //设置最终的文件名称信息返回前端
        String fileName2="/images/"+fileName;
        return R.ok(fileName2,null);
    }

图片上传好之后编写上传整个表单的接口

//健康打卡
    @RequestMapping("/addHealth")
    public R addHealth(@RequestBody Health health, HttpServletRequest request){
        //获取登录账号userId
        System.out.println("addHealth被调用");
        HttpSession session = request.getSession();
        User user = (User)session.getAttribute("user");
        if(user!=null){
            health.setUserId(user.getId());
        }
        Health h = health;
        System.out.println(h);
        boolean b = healthService.addHealthInfo(health);
        if(b){
            System.out.println("插入成功");
            return R.ok();
        }
        System.out.println(health);
        System.out.println("health");
        return R.fail("打卡失败");
    }

后端代码完成

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui 是一款基于web前端技术的开源框架,它提供了丰富的UI组件和强大的功能模块,方便开发人员快速构建美观、交互性强的Web应用程序。而Spring Boot 是一个用于简化Spring应用程序开发的框架,它能够帮助开发人员更快速地搭建基于Spring的应用程序,在使用Spring Boot的同时,还可以很方便地集成其他的相关技术和框架。资产管理是对企业或个人拥有的各种资产进行有效管理的过程,包括对资产的采购、分配、使用、维护、报废等环节。 在使用LayuiSpring Boot进行资产管理时,可以将Layui作为前端框架,利用其提供的UI组件和功能模块,实现用户界面的设计和开发。通过Layui的表格、弹窗、表单等组件,可以方便地展示和操作资产数据。 而Spring Boot则可以作为后端框架,利用其自动配置、约定优于配置等特性,快速搭建后台服务。通过使用Spring Boot的MVC模式,可以处理前端发送的请求,并与数据库进行交互,实现对资产数据的增删改查等操作。 在资产管理中,可以使用Spring Boot数据库访问框架,如MyBatis或Spring Data JPA,来实现对数据库的操作。通过定义实体类和与数据库对应的映射关系,可以方便地进行数据的持久化和查询。 此外,还可以利用Spring Boot的安全框架,结合Layui的表单验证等功能,实现对资产管理系统的用户认证和授权。 综上所述,使用LayuiSpring Boot进行资产管理可以充分利用两者的优势,快速开发出功能强大、界面美观的资产管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值