JDBC技术是一种能通过JAVA语言访问结构化数据库的应用程序接口,JDBC对于数据库的访问有多种方式,这里使用JDBC驱动直接访问数据库。访问流程如下:JDBC Driver Mannager->局部JDBC驱动->客户端数据库->数据库服务器->返回查询结果,这种访问事实上是转换JDBC调用为相应的数据库客户端API调用,这种方式的访问需要相应的数据库提供商提供相应的JDBC驱动程序。
将图片等大二进制数据(BLOB)保存到数据库需要额外编程来实现,是JDBC应用中的一个难点。现以Microsoft Sql Server 2000 JDBC 驱动访问Microsoft Sql Server 2000数据库中的图象信息为例,说明如何利用JDBC存储数据库中的BLOB对象。
1.保存BLOB对象到数据库。首先加载Microsoft 第四类JDBC 驱动类(com.microsoft.jdbc.sqlserver.SQLServerDriver)并建立与Microsoft Sql Server 2000数据库的连接,利用该连接获得java.sql.PreparedStatement 对象,再将图象文件中的数据读入java.io.FileInputStream 对象中。在查询预处理语句中插入该文件输入流对象,然后执行查询将图象信息保存到数据库中。实现代码片段如下:
FileInputStream filestream=new FileInputStream(“c:girl.jpg”);
java.sql.PreparedStatement prestmt=con.prepareStatement
("insert into "+tableName+" (pic,picName) values (?,?)");
prestmt.setString(2,imagename);
prestmt.setBinaryStream(1,filestream,size);
prestmt.execute();
2.从数据库中提取图象信息并显示在JSP页面中。首先加载Microsoft 第四类JDBC 驱动类并建立与Microsoft Sql Server 2000数据库的连接,使用该连接获得java.sql.Statement 对象,再使用该对象获得结果集。利用该结果集得到保存着图片信息的java.io.InputStream 对象。建立一缓冲区,将流数据输入缓冲区并发给请求图象信息的JSP页。
posted on 2007-01-05 17:22
bobily 阅读(197)
评论(0) 编辑 收藏