Java上传bytea类型图片到数据库并读取示例
需积分: 50 142 浏览量
更新于2024-09-06
收藏 3KB TXT 举报
本篇文章主要介绍了在PostgreSQL(pgsql)数据库环境中进行图片文件操作的过程,涉及到Java编程语言中的数据库连接、PreparedStatement的使用以及文件I/O操作。以下是详细的知识点:
1. 数据库连接与PreparedStatement:
文章首先通过`JDBCUtil.getConnectionELIB()`方法获取到数据库连接`dbConn`,这是使用Java与PostgreSQL交互的基础。接着,创建一个PreparedStatement对象`dbStat`,它是一种预编译的SQL语句,用于执行参数化查询或更新,提高了性能和安全性。
2. 图片文件上传:
在一个for循环中,遍历指定目录下的文件。对于每个文件,程序首先检查文件名是否符合特定格式,提取学号(xjh)并构造SQL插入语句`strSQL`。使用`FileInputStream`读取文件内容,然后通过`dbStat.setBinaryStream(2, inputStream, (int) file_i.length())`设置二进制数据到`zpian`字段。每执行一次SQL后,记录成功上传的文件数量`k`。
3. 更新数据库中的图片信息:
示例展示了如何更新数据库中的图片记录,通过`dbStat.setString(1, xjh)`设置新的值,然后使用`dbStat.setBinaryStream(1, inputStream, (int) filedata.length())`将图片数据替换到`zpian`字段,最后执行SQL更新。
4. 查询和下载图片:
通过`PreparedStatement`执行查询SQL,获取特定条件(如dzzhao='038')下的`zpian`字段值,然后使用`ResultSet`的`getBinaryStream(1)`方法获取到二进制数据。接下来,将这些二进制数据写入新的文件中,以实现图片的下载。
5. 错误处理与日志输出:
代码中包含了一些错误处理和进度报告,如`dbStat.close()`确保关闭资源,以及在每次文件操作后打印当前目录和已上传的文件总数。
总结来说,这篇文章提供了一个在PostgreSQL数据库中使用Java操作图片文件的基本流程,包括上传、更新和查询图片记录,以及相关的文件I/O操作和数据库交互。这在开发Web应用或者管理系统时,对处理用户上传的图片数据具有实际价值。
2009-07-30 上传
2009-04-08 上传
2009-01-15 上传
1734 浏览量
2021-10-26 上传
点击了解资源详情
点击了解资源详情
c_xup
- 粉丝: 0
- 资源: 1
最新资源
- html5:第五科技,分享一些自己做的html5源码!
- 双基地模糊度函数:计算双基地雷达的模糊度函数-matlab开发
- 61IC_S2647,c语言-15的源码,c语言
- perfume-master.zip
- github-project-try:我的学生的简单github测试
- 串口接收试验_单片机C语言实例(纯C语言源代码).zip
- dropwizardapp:玩dropwizard
- 50project50days-blank:Project Starter文件
- code,c语言编写系统源码,c语言
- HTML5-CSS3-Cookbook:HTML5和CSS3实例教程-原始
- 液晶12864并行2_单片机C语言实例(纯C语言源代码).zip
- Django3ByExample
- love-running:基于都柏林的跑步社区的网站
- zlib-1.2.2,c语言网卡驱动源码,c语言
- 体育馆
- JavaPractice:Java实践程序