//插入文本数据
// 1.创建语句
String sql = "insert into clob_test(big_text) values (?) ";
ps = conn.prepareStatement(sql);
File file = new File("src/com/meiyoudao/jdbc/JdbcUtils.java");
Reader reader = new BufferedReader(new FileReader(file));
ps.setCharacterStream(1, reader, (int) file.length());
// ps.setString(1, x);
// 2.执行语句
int i = ps.executeUpdate();
reader.close();
System.out.println("i=" + i);
//读取文本内容
// 1.执行语句
rs = st.executeQuery("select big_text from clob_test");
// 2.处理结果
while (rs.next()) {
Clob clob = rs.getClob(1);
Reader reader = clob.getCharacterStream();
// reader = rs.getCharacterStream(1);
// String s = rs.getString(1);
File file = new File("JdbUtils_bak.java");
Writer writer = new BufferedWriter(new FileWriter(file));
char[] buff = new char[1024];
for (int i = 0; (i = reader.read(buff)) > 0;) {
writer.write(buff, 0, i);
}
writer.close();
reader.close();
//录入二进制文件,如图片,jar包,等等
// 1.创建语句
String sql = "insert into blob_test(big_bit) values (?) ";
ps = conn.prepareStatement(sql);
File file = new File("IMG_0002.jpg");
InputStream in = new BufferedInputStream(new FileInputStream(file));
ps.setBinaryStream(1, in, (int) file.length());
// 2.执行语句
int i = ps.executeUpdate();
in.close();
//读取二进制文件,如图片,jar包,等等
// 1.执行语句
rs = st.executeQuery("select big_bit from blob_test");
// 2.处理结果
while (rs.next()) {
// Blob blob = rs.getBlob(1);
// InputStream in = blob.getBinaryStream();
InputStream in = rs.getBinaryStream("big_bit");
File file = new File("IMG_0002_bak.jpg");
OutputStream out = new BufferedOutputStream(
new FileOutputStream(file));
byte[] buff = new byte[1024];
for (int i = 0; (i = in.read(buff)) > 0;) {
out.write(buff, 0, i);
}
out.close();
in.close();
分享到:
相关推荐
在MySQL数据库中存储二进制大对象(BLOB)数据,如图片,是常见的做法,因为这种方式便于管理和检索。在本示例中,我们将探讨如何查询包含二进制图片数据的MySQL数据库,并通过JSP(JavaServer Pages)展示这些图片...
1. **连接数据库**:使用合适的数据库驱动(例如Java的JDBC,Python的psycopg2等)连接到数据库,获取存储图片的二进制字段。你需要知道数据库的URL、用户名、密码以及查询图片的SQL语句。 2. **读取二进制流**:...
4. **跨数据库操作**:在SQL Server和Oracle之间迁移或共享图片数据时,可能需要使用数据迁移工具或编程接口,如ODBC或JDBC,将二进制流从一个数据库复制到另一个。 5. **性能考虑**: - **存储效率**:存储二进制...
在IT领域,数据库常用于存储各种类型的数据,包括文本、数字以及图像等非...这个过程涉及到数据库操作、二进制数据处理以及图片编码等多个技术点,理解并掌握这些知识对于开发涉及数据库存储和检索图片的应用至关重要。
总的来说,将图片以二进制形式存入数据库是一种常见的数据存储策略,尤其适用于需要对图片进行快速访问和管理的应用。虽然这种方式增加了数据库的负担,但可以通过合理的索引和缓存策略来优化性能。同时,随着云存储...
首先,我们要理解图片本质上是二进制数据,通常以.jpg、.png或.gif等格式存在。这些文件由一系列0和1组成,代表图像的颜色和像素信息。在数据库中存储这样的二进制大对象(Blob,Binary Large Object)通常涉及以下...
`MySQLUploader.java`文件可能包含处理MySQL数据库中图片或二进制数据的Java代码,使用JDBC连接,加载MySQL驱动,通过PreparedStatement执行SQL语句将二进制数据存入数据库。读取时,可以使用ResultSet的...
综上所述,将图片转换为二进制流并存储到数据库中是一种常见的数据存储策略,尤其适用于需要将图片与其它数据集成的情况。理解这个过程对于开发涉及图像数据的Web应用、数据库设计和数据处理的IT专业人员来说至关...
- 图片等二进制文件适合用`BLOB`或`LONGBLOB`类型存储。首先,将图片转换成字节数组,然后通过PreparedStatement的setBytes()方法插入数据库。 - 读取时,使用ResultSet的getBytes()方法获取字节数组,再转换回原...
在给定的代码示例中,展示了如何使用Java连接到Access 2010数据库并读取存储为二进制流的图片数据,然后将这些二进制流转换回图片文件。以下是对这个过程的详细解释: 首先,为了连接到Access数据库,我们需要引入...
4. **创建数据表**:在Oracle数据库中创建一个专门用来存储图片二进制流的表,通常包含一个字段用于存储二进制数据,比如`BLOB`类型。 5. **持久化到数据库**:使用Hibernate或JDBC API将二进制流写入数据库。在...
2. **将二进制流写入数据库**: 描述如何使用JDBC连接数据库并将二进制流数据插入到指定表中。 3. **从数据库读取二进制流并展示**: 讲解如何查询数据库中的二进制流数据,并在HTML页面上进行展示的方法。 #### 二、...
在许多应用场景中,我们不仅需要存储文本、数字等常规数据,还可能需要存储图像等二进制数据。本文将深入探讨如何从SQL数据库中读取存储的二进制图片,并将其转换为可本地查看的文件。 首先,我们需要了解在SQL...
首先,执行一个SELECT查询来获取图片的二进制数据,然后将这些数据写入响应流中。以下是可能的Java Servlet实现: ```java String sql = "SELECT image_data FROM images WHERE id = ?"; ResultSet rs = pstmt....
首先,我们需要了解MYSQL存储大容量的二进制文件的格式是BLOB(Binary Large OBject),它可以存储大量的二进制数据,包括图片、音频、视频等。除了图片以外,BLOB还可以存储其他类型的二进制文件。 在将二进制文件...
在Java编程环境中,Blob对象是JDBC API的一部分,用于存储和检索大型二进制数据。 首先,我们需要理解如何从数据库中获取Blob数据。在Java中,Blob对象可以从ResultSet中检索,然后通过其getBinaryStream()方法获取...
@Column(columnDefinition = "BLOB") // 二进制文本字段,例如图片或文件 private byte[] profilePicture; @Enumerated(EnumType.STRING) // 枚举字段,使用Enumerated注解并指定存储方式为字符串 private User...
8. **ODBC数据访问接口**:虽然ODBC是微软提出的一个接口,主要用于非Java环境,但理解ODBC可以帮助我们理解JDBC的设计思想,即提供一个统一的接口来访问多种数据库。 在实际开发中,JDBC还涉及到异常处理、连接池...
这个“apache-activemq-5.15.15二进制包,安装包”包含了运行和配置ActiveMQ所需的所有组件,方便用户在本地计算机或服务器上快速部署和使用。该版本5.15.15是Apache ActiveMQ的一个稳定版本,提供了许多增强的功能...
在调用存储过程时,我们可以使用ODBC、JDBC等方式来将二进制数据作为参数传递给存储过程。在这个文件中,我们使用了C API的方式来调用存储过程。具体来说,我们可以使用 MySQL 的C API来将二进制数据作为参数传递给...