使用jdbc技术,在数据库中存储大数据对象(使用字节IO流读取图片等给blob等二进制类型数据赋值)

news/2024/5/18 22:43:30 标签: 数据库, jdbc, 反射, java, IO流

           在MySQL中,BLOB是一种数据类型,代表二进制大对象(Binary Large Object),可以存储大量的二进制数据,如图像、声音、视频等。BLOB类型的数据在存储和检索时会以二进制方式进行处理,而不是字符方式。因此,BLOB类型的数据可以存储任何类型的数据,包括非文本数据和Unicode字符。

           mediumblob 是MySQL中的一种数据类型,它可以用来存储二进制数据,数据大小为16MB。也就是说,如果需要在MySQL中存储大量二进制数据(如图像、音频、视频等文件),可以选择mediumblob数据类型来进行存储。

  • 实际开发中用 mediumblob,但是都很少用,一般多媒体资源用云服务器
java">package com.csdn.jdbc;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
//演示数据库保存大数据对象(Blob,Text)
public class BlobText {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        Class.forName("com.mysql.cj.jdbc.Driver");

        Connection conn = DriverManager.getConnection("jdbc:mysql:///fruitdb", "root", "123456");
        String sql = "insert into t_user values(0,?,?)";
        PreparedStatement psmt = conn.prepareStatement(sql);
        //填充参数
        psmt.setString(1, "小明");
        InputStream is = BlobText.class.getClassLoader().getResourceAsStream("扭扭.png");
        psmt.setObject(2, is);
        
        int count = psmt.executeUpdate();
        System.out.println(count > 0 ? "保存成功" : "保存失败");

    }
}

http://www.niftyadmin.cn/n/5125108.html

相关文章

计算机网络【CN】TCP报文段格式【20B】

序号:本报文段所发送的数据的第一个字节的序号确认号:期望收到对方下一个报文段的第一个数据字节的序号。 重要控制位: 紧急位URG:URG1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送…

在python里如何实现switch函数的功能

在许多编程语言中,包括Python,都提供了switch语句或类似的功能来根据不同的条件执行不同的代码块。然而,Python本身并没有内置的switch语句,但是您可以使用其他方式来实现类似的功能。下面是一种常见的方法: 使用if-e…

web自动化测试框架介绍

一、目的 web自动化测试作为软件自动化测试领域中绕不过去的一个“香饽饽”,通常都会作为广大测试从业者的首选学习对象,相较于C/S架构的自动化来说,B/S有着其无法忽视的诸多优势,从行业发展趋、研发模式特点、测试工具支持&…

RT-Thread 7. RT-Thread Studio ENV修改MCU型号

1. 修改MCU型号 2.在ENV界面输入 scons -c scons --dist3. dist下为更新后完整源代码 4.导入RT-Thread Studio 发现GD32F330已经生效了。 5. 自己编写startup_gd32f3x0.S,准确性待验证 ;/* ; * Copyright (c) 2006-2021, RT-Thread Development Team ; * ; * SPD…

YOLOv5源码中的参数超详细解析(3)— 训练部分(train.py)| 模型训练调参

前言:Hello大家好,我是小哥谈。YOLOv5项目代码中,train.py是用于模型训练的代码,是YOLOv5中最为核心的代码之一,而代码中的训练参数则是核心中的核心,只有学会了各种训练参数的真正含义,才能使用YOLOv5进行最基本的训练。🌈 前期回顾: YOLOv5源码中的参数超详细解析…

VPS是什么?详解亚马逊云科技Amazon Lightsail(VPS)虚拟专用服务器

2006年,南非开普敦,亚马逊推出了WBS,以网络服务的形式向企业提供基础的IT服务。亚马逊云科技的一小步,在无数技术更迭,天才设计师和程序员的努力与基础设施建设的完善之下成为了人类科技进展的一大步。 亚马逊云科技可…

Linux ls命令:查看目录下文件

ls 命令,list 的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。此命令的基本格式为: [rootlocalhost ~]# ls [选项] 目录名称 ls 命令常用的选项以及各自的功能。 注意,当 ls 命令不使用任何选项时…

react h5 发版白屏问题解决方案

背景&#xff1a;h5应用每次发布之后会有部分用户白屏 React v5 1. 优化路由加载时间 app.jsx render() {if(this.state.loading) {return <PendingPage />}return (<Router><Suspense fallback{<PendingPage />}>{this.state.showPage ?<Switch…