往mysql中添加图片的方法

61次阅读
没有评论

共计 1629 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关往 mysql 中添加图片的方法的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。

往 mysql 中添加图片的方法:首先创建一个方法使用 FileInputStream 读取图片;然后连接数据库并写入 sql 语句,用 PreparedStatement 执行 sql 语句。

相关免费学习推荐:mysql 视频教程

往 mysql 中添加图片的方法:

1. 效果

往 mysql 中添加图片的方法

不是存了个字符串哈,可以看左边的数据类型。

2. 获取 blob 数据

我们创建一个方法使用 FileInputStream 读取图片,还有 ByteArrayOutputStream 将读取的数据写入 byte[] 数组,然后

public static byte[] getImgStr(String path) throws IOException { FileInputStream fis = new FileInputStream(path);
 ByteArrayOutputStream out = new ByteArrayOutputStream();
 int len = 0;
 byte[] b = new byte[1024];
 while ((len = fis.read(b))!= -1){ out.write(b,0,len);
 }
 // 接收 out
 byte[] array = out.toByteArray();
 fis.close();
 out.close();
 return array;
 }

3. 连接数据库并写入 sql 语句

使用 Blob 创建一个 Blob,然后将我们获取的图片数据转换成 blob 类型,然后用 PreparedStatement 执行 sql 语句,因为它支持占位符并且有 setBlob 方法可以直接将我们的 blob 地址中的值写入数据库。然后就大功告成了。

 public static void main(String[] args) {
 /*
  加载驱动
 */
 try {
 Class.forName( com.mysql.cj.jdbc.Driver 
 // 获取连接
 String url =  jdbc:mysql://localhost:3306/test?useUnicode=true characterEncoding=UTF-8 serverTimezone=UTC 
 String user=  root 
 String password = 123456 
 try { Connection connection = DriverManager.getConnection(url,user,password);
 /*
  插入图片
 */
 byte[] arr = getImgStr( 图片地址 
 Blob blob = connection.createBlob();
 blob.setBytes(1,arr);
 String sql =  insert into pictures (name,pic,date) values(张三 ,?, 2015-01-01) 
 PreparedStatement ps = connection.prepareStatement(sql);
 ps.setBlob(1,blob);
 ps.executeUpdate();
 } catch (SQLException e) { e.printStackTrace();
 }
 } catch (ClassNotFoundException | IOException e) { e.printStackTrace();
 }
 }

感谢各位的阅读!关于往 mysql 中添加图片的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计1629字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)