JDBC如何插入Blob类型字段
程序员文章站
2022-06-22 17:19:06
Blob类型字段Blob:在MySQL中 Blob是一个二进制大型对象,可以是存储大量数据的容器,他能容纳不同大小的数据,插入Blob类型的数据必须使用PrepareStatement 因为Blob类型的数据无法使用字符串拼接。四种Blob类型:注意:再插入时出现插入的数据太大,则需要去my.ini文件中修改配置文件: max_allowed_packet=16M。直接在会后面添加,然后重启mysql服务。向数据表中插入大数据类型的图片......
Blob类型字段
Blob:在MySQL中 Blob是一个二进制大型对象,可以是存储大量数据的容器,他能容纳不同大小的数据,插入Blob类型的数据必须使用PrepareStatement 因为Blob类型的数据无法使用字符串拼接。
四种Blob类型:
注意:再插入时出现插入的数据太大,则需要去my.ini文件中修改配置文件: max_allowed_packet=16M。直接在会后面添加,然后重启mysql服务。
向数据表中插入大数据类型的图片
//获取连接
Connection conn = JDBCUtils.getConnection();
String sql = "INSERT INTO customers (`name`,`email`,`birth`,`photo`) VALUES(?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "小飞侠");
ps.setString(2, "812@qq.com");
ps.setDate(3, new Date(123124141L));
// 读取图片
InputStream is = new FileInputStream(new File("zyy.jpg"));
// 将图片插入到数据表
ps.setBlob(4, is);
ps.execute();
修改数据表中的Blob类型数据
// 获取连接
Connection conn = JDBCUtils.getConnection();
String sql = "UPDATE customers SET photo = ? WHERE id=?";
PreparedStatement ps = conn.prepareStatement(sql);
InputStream is = new FileInputStream(new File("1.png"));
// 将图片插入到数据表,替换原来的数据
ps.setBlob(1, is);
ps.setInt(2, 21);
ps.execute();
JDBCUtils.closeRsource(conn, ps);
查询数据表中Blob类型的数据
Connection conn = JDBCUtils.getConnection();
String sql = "SELECT photo FROM customers WHERE id=?";
PreparedStatement ps = conn.prepareStatement(sql);
// 填充占位符
ps.setInt(1, 24);
// 获取结果集
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// 获得Blob类型数据
Blob photo = rs.getBlob(1);
// 读取Blob数据
InputStream bs = photo.getBinaryStream();
OutputStream os = new FileOutputStream("gz.jpg");
byte[] bys = new byte[1024];
int len;
// 将Blob数据读出来
while ((len = bs.read(bys)) != -1) {
os.write(bys, 0, len);
}
}
JDBCUtils.closeRsource(conn, ps);
本文地址:https://blog.csdn.net/weixin_48479053/article/details/107658116
推荐阅读
-
java实现插入mysql二进制文件,blob类型,遇到问题及解决办法
-
解析如何用SQL语句在指定字段前面插入新的字段
-
如何将生产环境的字段类型从INT修改为BIGINT
-
C# ASP.NET+MySQL数据库命名了1个long字段,和C#的保留字重名,并且和MySQL数据库的关键字重名,如何用Parameters.AddWithValue方法插入新记录到数据库
-
深入浅析mybatis oracle BLOB类型字段保存与读取
-
JDBC如何插入Blob类型字段
-
WPS演示2013如何插入图表及修改图表类型为其他样式
-
oracle在有数据的前提下如何变更字段类型?
-
如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
-
请教如何更新mysql数据库 text字段类型的数据