操作BLOB类型字段
MySQL BLOB类型
Blob类型数据
PrepardeStatement操作Blob的数据,而Statement做不到
PrepardeStatement可以实现更高效的批量操作
-
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。
-
插入BLOB类型的数据必须使用PreparedStatement,因为BLOB类型的数据无法使用字符串拼接写的。
-
MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)

- 实际使用中根据需要存入的数据大小定义不同的BLOB类型。
- 需要注意的是:如果存储的文件过大,数据库的性能会下降。
- 如果在指定了相关的Blob类型以后,还报错:xxx too large,那么在mysql的安装目录下,找my.ini文件加上如下的配置参数: max_allowed_packet=16M。同时注意:修改了my.ini文件之后,需要重新启动mysql服务。
1.向数据表插入Blob类型的数据
这里的图片存放位置:

代码:使用PreparedStatement操作Blob类型的数据(这里是插入一张图片)
/*
使用PreparedStatement操作Blob类型的数据
*/
package com.jsm5;
import com.util.JDBCUtils;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class BlobTest {
//向数据表插入Blob类型的字段
@Test
public void test() throws Exception {
Connection collections = JDBCUtils.getCollections();
String sql="insert into customers(`name`,email,birth,photo)values(?,?,?,?)";
PreparedStatement ps = collections.prepareStatement(sql);
ps.setObject(1,"金士曼");
ps.setObject(2,"1436589181@qq.com");
ps.setObject(3,"1992-09-08");
FileInputStream is = new FileInputStream(new File("1.png"));
ps.setBlob(4,is);
ps.execute();
}
}
<
MySQL BLOB类型操作

最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



