MySQL数据库中插入图片
1.首先需要在在my.ini中添加如下配置
max_allowed_packet=10485760
2.然后在mysql中便可创建自己的表:
标准SQL中提供了如下类型来保存大数据类型:
但是,在mysql中没有提供tinyclob、clob、mediumclob、longclob四种类型,而是使用如下四种类型来处理文本大数据:
准备图片,然后java中主要代码就是这样,只是通过流的形式读入和写出图片。
package com.lili.daoimpl;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.lili.dao.PictureDao;
import com.lili.jdbcutils.JdbcUtils;
public class PictureDaoImpl implements PictureDao {
@Override
public void addPicture() {
Connection conn = JdbcUtils.getConnection();
String sql = "insert into picture values(null,?,?)";
PreparedStatement ps;
try {
ps = conn.prepareStatement(sql);
ps.setString(1, "1.jpg");
InputStream in = new FileInputStream("D:\\1.jpg");
ps.setBinaryStream(2, in);
int num = ps.executeUpdate();
if (num > 0) {
System.out.println("图片插入成功!");
} else {
System.out.println("图片插入失败!");
}
JdbcUtils.closeAll(conn, ps, null);
} catch (SQLException e1) {
e1.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
@Override
public void selectPicture() {
PreparedStatement ps = null;
ResultSet rs = null;
Connection connection = JdbcUtils.getConnection();
String sql = "select * from picture where id=?";
try {
ps = connection.prepareStatement(sql);
ps.setInt(1, 1);
rs = ps.executeQuery();
while (rs.next()) {
String filename = rs.getString(2);
InputStream in = rs.getBinaryStream(3);
OutputStream out = new FileOutputStream(new File("E:\\" + filename));
int n = 0;
byte[] b = new byte[1024];
while ((n = in.read(b)) != -1) {
out.write(b);
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
System.out.println("图片查询成功!");
JdbcUtils.closeAll(connection, ps, rs);
}
}
}
MySQL数据库中插入图片相关推荐
- Java程序向MySql数据库中插入的中文数据变成了问号
找到mysql的安装目录,修改my.ini文件 (1)如何找到my.ini文件 如果my.ini文件不在MySQL的安装目录下,可能放在隐藏目录,要先去找到ProgramData,(这里要先打开显示隐 ...
- mysql插入表情_向MySQL数据库中插入带emoji表情符的数据时报错
问题:向MySQL数据库中插入带emoji表情符的数据时报错 原因:utf8字符集不支持emoji表情符,需要改为utf8mb4字符集(utf8mb4是MySQL在5.5.3之后增加的,实际开发中建议 ...
- php怎么插入数据,利用PHP怎么向MySQL数据库中插入数据
利用PHP怎么向MySQL数据库中插入数据 发布时间:2020-12-11 16:41:47 来源:亿速云 阅读:89 作者:Leah 这篇文章给大家介绍利用PHP怎么向MySQL数据库中插入数据,内 ...
- 将mysql数据库中的图片读出来的_MySQL存入图片+Qt读入读出数据库中的图片
还记得之前的一个项目里要向数据库中存入图片,然后Qt要在数据库中读入读出图片,当时纠结了好久,查阅了很多资料才解决,所以希望本文能给需要朋友点帮助.好了废话不多说,下面开始讲实现步骤. 1.MySQL ...
- mysql数据库中插入表信息_mysql数据库中插入表
通过binlog恢复mysql数据库 在上一篇文章,我们讲解了有关mysql的binlog日志的基础知识.这篇文章,我们来讲解如何通过mysql的binlog日志来恢复数据库. 在使用binlog日志 ...
- 用java向mysql数据库中插入数据为空
利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util ...
- 关于mysql数据库中插入特殊字符(emoji表情)报错1366的问题注意点
项目场景: 提示:这里简述项目相关背景: 将Excel里面的数据保存的mysql数据库中,系统报错如下: 查询了解到,系数据库编码格式不支持保存emoji字符串格式:网上有很多教程,让我们把数据库的编 ...
- mysql数据库插入数据为空_用java向mysql数据库中插入数据为空
利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util ...
- 向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
这几天在做一个Javaweb的图书商城项目,在操作数据库的过程中,遇到一个问题? 向数据库中的order数据表中插入数据时,一直插入数据失败.没有报SQL语句语法错误,Eclipse ...
最新文章
- nmap 命令行执行错误_Unimap:一款基于Nmap实现的扫描速度提升工具
- 开箱即用!这个神器,拯救了无数算法工程师……
- 详解Framework
- SAP CRM和C4C的产品主数据price维护
- oracle 10g 关库,Oracle Db10g 启动和关闭数据库
- 机房收费系统——转换list泛型时,字段名称不正确应出现故障
- 曾鸣:未来十年,将确定智能商业的格局|干货
- 【Git、GitHub、GitLab】十 将git仓库备份到本地
- MapReduce会自动忽略文件夹下的.开头的文件
- RabbitMQ从安装到深入
- 【答辩问题】计算机专业本科毕业设计答辩需注意的内容
- mysql 该字符串未被识别为有效的 datetime_打印报错,提示该字符串未被识别为有效的datetime...
- 凹多边形三角剖分算法实现---基于Unity3D
- 从jupyter转换为exe格式
- zeppelin--使用D-Tale,针对pandas结构化数据进行可视化探索
- 浅谈估值模型:PE指标II——PE Band
- 用计算机弹发如雪,计算器弹音乐谱子
- imx6q 添加intel PCIE网卡
- AUTOSAR专项 : 模式管理(3) -- ComM
- Flutter 公司组织结构实体类递归构造 递归查询