MySQL框架图

1.连接层:最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的 通信。

2.服务层:一些sql接口,解析器(parser),优化器(optimizer),缓存(caches或者buffers)

3.存储引擎:存储引擎层,存储引擎真正的负责了 MySQL 中数据的存储和提取,服务器通过 API 与存储引擎进行通信。

4.数据存储层:主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以将图片以二进制的形式存入 Mysql 数据库中。以下是一个简单的 Spring Boot Controller 的示例代码: ```java @RestController public class ImageController { @Autowired private ImageRepository imageRepository; @PostMapping("/image/upload") public String uploadImage(@RequestParam("file") MultipartFile file) throws IOException { Image image = new Image(); image.setName(file.getOriginalFilename()); image.setType(file.getContentType()); image.setPicByte(file.getBytes()); imageRepository.save(image); return "Image uploaded successfully!"; } @GetMapping("/image/{id}") public ResponseEntity<byte[]> getImage(@PathVariable Long id) { Image image = imageRepository.findById(id).orElse(null); if (image == null) { return ResponseEntity.notFound().build(); } return ResponseEntity.ok().contentType(MediaType.parseMediaType(image.getType())) .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + image.getName() + "\"") .body(image.getPicByte()); } } ``` 其中,Image 实体类包括名称、类型和二进制数据三个字段,用于保存图片相关信息: ```java @Entity @Table(name = "images") public class Image { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String type; @Lob private byte[] picByte; // getters and setters } ``` 在上述代码中,uploadImage 方法用于上传图片,将图片转换为二进制数据并保存到 Mysql 数据库中;getImage 方法用于获取指定 id 的图片数据并返回给客户端。 需要注意的是,由于图片数据是以二进制形式存储在数据库中,因此在存储和读取图片时需要使用 Lob 注解来告知 JPA 框架该字段需要使用数据库的大字段类型(BLOB 或 CLOB)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值