`
wuhaidong
  • 浏览: 360203 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

JDBC读取数据库图片

    博客分类:
  • SE
 
阅读更多

 

	/**
	 * 更新BLOB字段
	 * 
	 * @param tableCode
	 * @param fieldCode
	 * @param fieldValue
	 * @param primaryKey
	 * @param primaryValue
	 * @return
	 * @throws DAOException
	 */
	public int updateBlob(String tableCode, String fieldCode,
			byte[] fieldValue, String primaryKey, String primaryValue)
			throws DAOException {
		String sql = "UPDATE ##TABLECODE## SET ##FIELDCODE## =? WHERE ##PRIMARYKEY## = ##PRIMARYVALUE##";
		sql = StringUtil.replaceAllString/*AllString*/(sql, "##TABLECODE##",
				tableCode);
		sql = StringUtil.replaceAllString/*AllString*/(sql, "##PRIMARYKEY##",
				primaryKey);
		sql = StringUtil.replaceAllString/*AllString*/(sql,
				"##PRIMARYVALUE##", "'"+primaryValue+"'");
		sql = StringUtil.replaceAllString/*AllString*/(sql, "##FIELDCODE##",
				fieldCode);
		SQLParameter param = new SQLParameter();
		param.addBlobParam(fieldValue);
		return getBaseDAO().executeUpdate(sql, param);
	}
 

 

 

        public static void main(String[] args) throws Exception {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "ymd", "1");
                Statement statement = conn.createStatement();
                StringBuffer sql = new StringBuffer("")
                .append(" select a.psnname, ") 
                .append("        a.photo, ") 
                .append("        to_number(to_char(sysdate, 'YYYY')) - ") 
                .append("        to_number(substr(a.birthdate, 1, 4)) age, ") 
                .append("        b.docname ") 
                .append("   from bd_psnbasdoc a ") 
                .append("   left join bd_defdoc b on a.marital = b.pk_defdoc ") 
                .append("  where a.sex = '女' ") 
                .append("    and a.photo is not null "); 

                ResultSet resultSet = statement.executeQuery(sql.toString());
                while(resultSet.next()){
                        Blob blob = resultSet.getBlob("photo");
                        String name = resultSet.getString("psnname");
                        String age = resultSet.getString("age");
                        String docname = resultSet.getString("docname") == null ? " " : resultSet.getString("docname");
                        InputStream inputStream = blob.getBinaryStream();
                        
                        OutputStream outputStream = new FileOutputStream(new File("c:\\PIC\\"+name+"_"+age+"_"+docname+".jpg"));
                        
                byte[] buffer = new byte[1204];

                int bytesum = 0;
                int byteread = 0;
                while ((byteread = inputStream.read(buffer)) != -1) {
                    bytesum += byteread;
                    outputStream.write(buffer, 0, byteread);
                }
                outputStream.flush();
                outputStream.close();
                        inputStream.close();
                }
                
                statement.close();
                conn.close();
        }
分享到:
评论

相关推荐

    JDBC读取数据库元数据,自动生成JAVA实体类

    JDBC读取数据库元数据,生成JAVA实体类

    java使用jdbc将数据库数据导出到csv文件.pdf

    我们首先获取数据库连接,然后执行 SQL 查询以获取数据库数据。然后,我们获取元数据信息,并将数据写入到 CSV 文件中。在处理数据时,我们需要特殊处理 TIMESTAMP 类型数据,并需要异常处理以避免程序崩溃。

    使用jdbc获取数据库基础信息(附源码)

    本教程将深入探讨如何使用JDBC获取数据库的基础信息,包括连接数据库、执行SQL查询以及处理结果集。我们将通过分析`TestJDBC.java`源代码来了解具体的实现过程。 首先,我们需要引入JDBC驱动,这通常是通过在Java...

    JDBC连接数据库步骤及代码

    最后一步是在实际的应用程序中调用上面定义的`getConnectJDBC()`方法来获取数据库连接。 ```java public class Main { public static void main(String[] args) { Connection conn = ConnectionTest....

    实验3 JDBC操作数据库3

    实验3 JDBC操作数据库3主要目的是通过Java的JDBC技术来熟悉和掌握数据库的连接与操作。这个实验涉及了以下几个核心知识点: 1. **MySQL数据库**:实验中提到了使用MySQL作为关系型数据库管理系统,它是开源且广泛...

    jdbc连接数据库步骤

    JDBC(Java Database Connectivity)是Java语言中用于连接和操作数据库的应用程序接口。它定义了Java应用程序如何与数据库之间通信,允许用户执行SQL语句并获取结果。对于初学者来说,理解JDBC连接数据库的基本步骤...

    JDBC连接数据库经验总结

    **JDBC连接数据库经验总结** Java Database Connectivity (JDBC) 是Java编程语言中用于与关系数据库交互的标准API。它提供了一种规范,使得Java开发者能够使用标准的Java语句来执行SQL命令,从而实现对数据库的操作...

    jdbc访问数据库的步骤

    ### JDBC访问数据库的步骤与原理 #### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了诸如...

    JDBC链接数据库代码

    Java Database Connectivity(JDBC)是Java编程语言中用于与各种类型数据库交互的一组接口和类。JDBC使得Java开发者能够编写可移植的代码来访问和处理数据库中的数据。本篇文章将深入探讨如何使用JDBC连接数据库,...

    JDBC连接数据库各种数据库参数大全

    ### JDBC连接数据库各种数据库参数详解 #### 一、Oracle8/8i/9i数据库(thin模式) 在Java中通过JDBC访问Oracle数据库时,通常采用thin驱动方式。thin驱动是一种纯Java驱动,无需依赖任何非Java代码即可完成与...

    基于JDBC从数据库中读取数据,在百度地图批量标注地点例程

    基于JDBC从数据库中读取数据,在百度地图批量标注地点例程

    JDBC访问数据库步骤

    JDBC 访问数据库步骤 JDBC(Java Database Connectivity)是 Java 语言中用来访问数据库的 API,提供了一种标准的方式来连接和操作数据库。下面是 JDBC 访问数据库的步骤: 步骤 1:加载对应数据库驱动 在使用 ...

    JDBC连接数据库代码大全

    `getConnection()`方法是获取数据库连接的关键。 2. `Connection`:代表一个到数据库的物理连接,提供了创建Statement、PreparedStatement和CallableStatement对象的方法。 3. `Statement`:用于执行DML(数据操纵...

    JDBC 3.0 数据库编程

    **JDBC 3.0 数据库编程** JDBC(Java Database Connectivity)是Java语言中用于与各种数据库交互的标准API,由Sun Microsystems开发并被Oracle公司继承。JDBC 3.0是该API的一个重要版本,它在JDBC 2.0的基础上进行...

    JDBC连接数据库里面有各数据库的应用说明

    ### JDBC连接数据库应用详解 #### 一、JDBC概述及DriverManager的作用 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。通过JDBC,Java应用程序...

    JDBC与Java数据库编程

    - **提取并处理由数据源返回至应用程序的结果集**:JDBC还支持结果集的处理,这使得开发者能够方便地获取并处理从数据库返回的数据。 **1.3 JDBC的体系结构** JDBC的体系结构可以分为两层: - **JDBC驱动程序管理...

    JDBC API数据库编程实作教材

    **JDBC API数据库编程实作教材** 在Java开发中,JDBC(Java Database Connectivity)是连接Java应用程序与各种类型数据库的重要桥梁。它提供了一组接口和类,使得开发者能够使用标准的Java代码来访问和操作数据库。...

    java 通过JDBC对数据库进行查询

    2. 获取数据库连接:通过`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来建立连接。如`Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", ...

    JDBC数据库编程实验

    一、实验目的: ...(5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法。 (6)初步理解数据访问层的基本设计方法,理解web的分层架构。

Global site tag (gtag.js) - Google Analytics