1,首先建一个足够简单的表imageTable
id varchar(20)
image blob
2,blob入库
拷贝Sunset.jpg图片在C盘根目录下
3,blob出库
id varchar(20)
image blob
2,blob入库
拷贝Sunset.jpg图片在C盘根目录下
1
DriverManager.registerDriver(
new
oracle.jdbc.driver.OracleDriver());
2
Connection conn
=
DriverManager.getConnection(
"
jdbc:oracle:thin:@localhost:1521:beyondduke
"
,
"
duke
"
,
"
duke
"
);
3
conn.setAutoCommit(
false
);
4
BLOB blob
=
null
;
5
PreparedStatement pstmt
=
conn.prepareStatement(
"
insert into imageTable(id,image) values(?,empty_blob())
"
);
6
pstmt.setString(
1
,
"
10001
"
);
7
pstmt.executeUpdate();
8
pstmt.close();
9
pstmt
=
conn.prepareStatement(
"
select content from imageTable where id= ? for update
"
);
10
pstmt.setString(
1
,
"
10001
"
);
11
ResultSet rs
=
pstmt.executeQuery();
12
if
(rs.next()) blob
=
(BLOB) rs.getBlob(
1
);
13
String fileName
=
"
c://Sunset.jpg
"
;
14
File f
=
new
File(fileName);
15
FileInputStream fin
=
new
FileInputStream(f);
16
System.out.println(
"
file size =
"
+
fin.available());
17
pstmt
=
conn.prepareStatement(
"
update imageTable set image=? where id=?
"
);
18
OutputStream out
=
blob.getBinaryOutputStream();
19
byte
[] data
=
new
byte
[(
int
)fin.available()];
20
fin.read(data);
21
out.write(data);
22
out.close();
23
fin.close();
24![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
25
pstmt.setBlob(
1
,blob);
26
pstmt.setString(
2
,
"
fankai
"
);
27![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
28
pstmt.executeUpdate();
29
pstmt.close();
30![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
31
conn.commit();
32
conn.close();
浏览数据库的数据,发现image项中数据大小与图片大小一致,说明入库了!
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
2
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
3
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
4
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
5
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
6
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
7
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
8
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
9
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
10
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
11
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
12
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
13
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
14
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
15
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
16
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
17
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
18
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
19
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
20
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
21
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
22
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
23
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
24
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
25
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
26
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
27
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
28
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
29
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
30
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
31
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
32
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
3,blob出库
1
DriverManager.registerDriver(
new
oracle.jdbc.driver.OracleDriver());
2
Connection conn
=
DriverManager.getConnection(
"
jdbc:oracle:thin:@localhost:1521:beyondduke
"
,
"
duke
"
,
"
duke
"
);
conn.setAutoCommit(
false );
3
Statement stmt
=
conn.createStatement();
4![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/04e85f05536ccd79982bbca17251f63e.gif)
/**/
/* 查询BLOB对象 */
5
ResultSet rs
=
stmt.executeQuery(
"
SELECT content FROM javatest WHERE id='1001'
"
);
6![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/04e85f05536ccd79982bbca17251f63e.gif)
while
(rs.next())
{
7![ExpandedSubBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ca97a1042a494993b61012f0c7f4e7.gif)
/**//* 取出此BLOB对象 */
8
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("image");
9![ExpandedSubBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ca97a1042a494993b61012f0c7f4e7.gif)
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("d://Sunset.jpg"));
BufferedInputStream in
= new BufferedInputStream(blob .getBinaryStream());
10
int c;
11![ExpandedSubBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ca97a1042a494993b61012f0c7f4e7.gif)
while ((c = in.read()) != -1)
{ out.write(c);
12
}
13
in.close();
14
out.close();
15
rs.close();
16
stmt.close();
17
conn.close();
18
检查D盘根目录,会发现Sunset.jpg文件,跟C盘下是一样的,说明入库出库成功!
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
2
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
conn.setAutoCommit(
false );
3
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
4
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/04e85f05536ccd79982bbca17251f63e.gif)
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/944d071149be1c8c4402f26bdcd107b0.gif)
5
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/9723ec7779ef47d51f1f48b9337ffca0.gif)
6
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/04e85f05536ccd79982bbca17251f63e.gif)
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/944d071149be1c8c4402f26bdcd107b0.gif)
![dot.gif](https://i-blog.csdnimg.cn/blog_migrate/16a9fb34be116f8614241ccc553f3555.gif)
7
![ExpandedSubBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ca97a1042a494993b61012f0c7f4e7.gif)
![ContractedSubBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/e1ed2ced3b3e975bd246687204c32ce4.gif)
8
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
9
![ExpandedSubBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ca97a1042a494993b61012f0c7f4e7.gif)
![ContractedSubBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/e1ed2ced3b3e975bd246687204c32ce4.gif)
BufferedInputStream in
= new BufferedInputStream(blob .getBinaryStream());
10
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
11
![ExpandedSubBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ca97a1042a494993b61012f0c7f4e7.gif)
![ContractedSubBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/e1ed2ced3b3e975bd246687204c32ce4.gif)
![dot.gif](https://i-blog.csdnimg.cn/blog_migrate/16a9fb34be116f8614241ccc553f3555.gif)
12
![ExpandedSubBlockEnd.gif](https://i-blog.csdnimg.cn/blog_migrate/84b88d7ce3b476e13678154aa69b5b89.gif)
13
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
14
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
15
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
16
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
17
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
18
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/7a3782e39bce8b40e9b05a5e4fd452d8.gif)
![30542.html](https://i-blog.csdnimg.cn/blog_migrate/e11f8b35ca7e9a6fea9e1fabe7080484.jpeg)
beyondduke 2006-02-14 09:23
发表评论