springboot上传文件写入数据库

springboot上传文件写入数据库,第1张

首先导入了相应的jar包

<!--thymeleaf--><dependency>

<groupId>org.thymeleaf</groupId>

<artifactId>thymeleaf-spring5</artifactId></dependency><dependency>

<groupId>org.thymeleaf.extras</groupId>

<artifactId>thymeleaf-extras-java8time</artifactId></dependency><!--数据库连接--><dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId></dependency><!--mybatis整合springboot--><dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>2.1.2</version></dependency><!--druid数据源--><dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.1.22</version></dependency>1234567891011121314151617181920212223242526272829

对数据源,mybatis,和上传文件进行配置

spring:

datasource:

type: com.alibaba.druid.pool.DruidDataSourceusername: rootpassword: shw123zxcurl: jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCdriver-class-name: com.mysql.cj.jdbc.Driver servlet:

multipart:

max-request-size: 10MB #上传文件的最大总大小

max-file-size: 10MB #上传单个文件的最大大小mybatis:

type-aliases-package: cn.codewei.pojo mapper-locations: classpath:/mapper/*.xml1234567891011121314

然后写一个文件上传的html,注意表单的==enctype属性要设置为multipart/form-data==

<!DOCTYPE html><html lang="en"><head>

<meta charset="UTF-8">

<title>Title</title></head><body>

<h1>文件上传</h1>

<form method="post" enctype="multipart/form-data" action="/upload">闷肢穗

<input type="file" name="file"饥举>

<input type="submit" value="上传">

</form></body></蚂卜html>1234567891011121314

然后写一个Mapper和对应的Mapper.xml和service

@Mapper@Repositorypublic interface PhotoMapper {

// 向数据库中添加图片

public int addPhoto(Photo photo)

// 从数据库中取出图片

public Photo getPhotoById(@Param("id") int id)}123456789

<?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="cn.codewei.mapper.PhotoMapper">

<insert id="addPhoto" parameterType="photo">

insert into image values (#{id},#{photo},#{photo_name},#{photo_type})</insert>

<select id="getPhotoById" resultType="photo">

select * from image where id=#{id}</select></mapper>123456789101112

在Controller中进行调用

上传

@Autowiredprivate PhotoService photoService@Autowiredprivate Photo photo@PostMapping("/upload")@ResponseBodypublic String upload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {

byte[] bytes = file.getBytes()

photo.setPhoto(bytes)

photo.setPhoto_name(file.getOriginalFilename())

photo.setPhoto_type(".jpg")

photoService.addPhoto(photo)

return "上传成功!"}123456789101112131415161718

取出,在页面中显示

@RequestMapping("/getPhoto")public String getImage(HttpServletResponse response) throws IOException {

Photo photo = photoService.getPhotoById(1)

byte[] photo1 = photo.getPhoto()

ServletOutputStream os = response.getOutputStream()

os.write(photo1)

os.close()

return ""}123456789

<!DOCTYPE html><html lang="en"><head>

<meta charset="UTF-8">

<title>Title</title></head><body>

<h1>首页</h1>

<img src="/getPhoto" width="200px" height="200px"></body></html>

Java培训一般会教下面四种内容:1、掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对培带象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。编程有关的 *** 作系统基弊坦本使用,HTML5规范、HTML5文档结构、HTML5元素、Web语义化;CSS3规范、CSS3选择器、层叠与继承、盒模型与视觉格式化模型、现代CSS布局、CSS3基本属性千锋教育就有线上免费Java线上公开课。 2、掌握Java Web开发技术:Java开发中使用到的Web前端技术,HTML5+CSS3,JavaScript *** 作BOM和DOM,JQuery的选择器、事件处理、动画效果,MySQL数据库技术,JDBC技术、JSP、Servlet、EL和JSTL、过滤器和监听器、AJax异步请求等,Linux技术、SVN、Linux环境下项目发布部署等。3、掌握使用流行框架SSM\SSH技术实现企业级项目开发:重点学习MyBatis、Spring、Spring MVC框架的应用,Git、Java设计模式等,重点配卜芦学习Struts2 、Spring、Hibernate框架的应用,Maven、Oracle数据库应用技术,了解大数据生态体系,Hadoop基础入门。4、JavaWeb框架:Spring体系结构、Spring IOC、AOP、FactoryBean与BeanFactory、声明性事务处理、Spring 5新特性。Maven与Gradle的使用。Spring Boot自动配置、Spring Boot CLI与Initializr、Spring Boot Starter、Actuator。SpringMVC工作原理和工作流程;拦截器、数据绑定转换和格式化、全局异常处理、转发与重定向、AJAX请求处理如果想了解更多相关知识,建议到千锋教育了解一下。千锋教育目前在18个城市拥有22个校区,年培养优质人才20000余人,与国内20000余家企业建立人才输送合作关系,院校合作超600所。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12283823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存