mysql插入blob报错_java如何向mysql写入blob数据?
表结构如下
package entity;
import java.io.Serializable;
public class Person implements Serializable{
private int id;
private String name;
private String sex;
private int age;
private Person soulMate;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person getSoulMate() {
return soulMate;
}
public void setSoulMate(Person soulMate) {
this.soulMate = soulMate;
}
@Override
public String toString() {
return "Person[" + "id=" + id + " ,name=" + name + " ,sex=" + sex + " ,age=" + age + "]";
}
}
上面的是实现了序列化的一个对象,我要将其写入到数据库中去。
具体的操作代码如下:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import entity.Person;
import util.DBUtil;
public class Main {
public static void main(String[] args) {
Person boy = new Person();
boy.setId(10);
boy.setName("litten");
boy.setAge(22);
boy.setSex("男");
Person girl = new Person();
girl.setId(11);
girl.setName("litten's soul mate");
girl.setAge(21);
girl.setSex("女");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(boy);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
Connection conn = DBUtil.getConn();
PreparedStatement ps = conn.prepareStatement("insert into testBlob (id, blob) values(?,?)");
ps.setInt(1, 2);
ps.setBlob(2, bais, bais.available());
System.out.println(ps.executeUpdate());
} catch (IOException | ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
但是却报错了? 不知道是为什么?求教。
mysql插入blob报错_java如何向mysql写入blob数据?相关推荐
- Linux下MySql插入汉字报错解决(/etc/my.cnf不存在)
2019独角兽企业重金招聘Python工程师标准>>> Linux下MySql插入汉字报错解决(/etc/my.cnf不存在) 看了很多帖子,大多数是说修改my.cnf,如 http ...
- MySQL插入汉字报错的解决方案
MySQL插入汉字报错的原因是字符集的问题,MySQL默认使用的是Latin(拉丁文)字符集,可以在创建数据库时指定其字符集:CREATE DATABASE test DEFAULT CHARACTE ...
- 安装完MySQL后启动报错_MySQL数据库之mysql编译安装完成后,启动时报错The server quit without updating PID file...
本文主要向大家介绍了MySQL数据库之mysql编译安装完成后,启动时报错The server quit without updating PID file ,通过具体的内容向大家展现,希望对大家学习 ...
- mysql从节点报错_CentOS7.9 下 MySQL 之 PXC 集群部署【Docker+多机多节点】
背景 最近在进行 MySQL 集群搭建测试的研究中 对于业界主流方案自然不能跳过 在此,整理成完整的文章,希望道友能得到参考价值 - [注]:Percona XtraDB Cluster(简称 PXC ...
- mysql报错1241_flask内的mysql插入语句报错:1241, 'Operand should contain 1 column(s)
view.py内的代码如下: -- c_location = request.form.getlist('c_location') connection = db.engine.connect() m ...
- mysql插入中文报错处理办法
安装MySQL的时候如果没有对数据库编码做修改默认数据库编码是latin1(拉丁),这个编码是不支持中文的,一般情况下我们将数据库的默认编码修改为utf8(俗称万国码)就可以解决不支持中文的问题 我们 ...
- Mac提示mysql不是_mysql插入汉字报错。不是mysql是安装在mac系统里的
createtableaaaa(eidintprimarykey,enamevarchar(45));insertintoaaaavalues(1,'张三');insertintoaaaa(eid,e ...
- mysql插入中文报错
关于插入mysql数据库的中文报错的问题 原因基本上就是一个:字符集格式未统一 查询一下字符集的格式: show variables like '%char%' 上图显示的是字符编码有很多种,未统一便 ...
- mysql 唯一性约束报错_怪异的MySQL Online DDL报错Duplicate entry
今天线上执行Online DDL的时候发现一个奇怪的报错,觉得比较意义,遂整理如下.线上数据库版本:percona server 5.7.14 报错现场:每次执行的时候重复报错记录都不一样 mysql ...
最新文章
- PE文件和COFF文件格式分析——RVA和RA相互计算
- 皮一皮:狗子的眼神很绝望...
- Tensorflow-gpu安装
- vant 动态 粘性布局_CSS Viewport 单位,很多人还不知道使用它来快速布局!
- ASP.NET简易教程-页面布局
- 在linux中dns不安装coching,ubuntu 8.04下openldap的安装和使用
- 嵌入式编程要不要学数据结构_少儿编程要不要学?其实国家早就给出了答案……...
- java终端线程_java多线程-中断线程
- 敏捷开发你必须知道的7件事
- java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换
- winform button设计(一)
- pytorch Embedding模块,自动为文本加载预训练的embedding
- 用c语言编程求分数和,用C语言编程平均分数
- (转)OpenLayers3基础教程——OL3基本概念
- simpledateformat格式_大厂都是怎么用Java8代替SimpleDateFormat?
- 用 Go 构建一个区块链 -- Part 1: 基本原型
- Maven学习使用Nexus搭建Maven私服
- 更改项目project名称,与项目名称;
- 如何在普通 UIViewController 中使用 UITableView
- sqlyog与mysql编码语法_如何解决sqlyog连接的数据库乱码的问题