今天在项目中要向Oracle的LONG RAW形字段插入图片,以配合C/S的设计结构 项目中用Hibernate ORM,找了N久没有找到具体操作方法,终于花了2个多小时找到一个JDBC操作的例子,代码改造后为 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class JdbcImgDAO { //数据库连接方法 public static Connection getConnection(){ String url="jdbc:oracle:thin:@192.168.0.100:1521:testdb"; Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection(url,"user","pwd"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } //插入图片到案例库,id为主键,s为上传图片(路径+图片名) public static void updateImg(String id, String s){ Connection conn = getConnection(); String sql="update table t set t.img=? where id=?"; File filename=new File(s); //将文件的长度读出,并转换成Long型 long l1=filename.length(); int l2=(int)l1; try { //以流的格式赋值 FileInputStream fis=new FileInputStream(filename); PreparedStatement ps =conn.prepareStatement(sql); ps.setBinaryStream(1,fis,l2); //ps.setBinaryStream(1,fis,fis.available()); ps.setString(2,id); ps.executeUpdate(); ps.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); try { conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } } } 显示图片页 img.jsp <%@ page contentType="text ml; charset=gbk"%> <%@ page import="java.io.*"%> <%@ page import="java.sql.*, javax.sql.*"%> <%@ page import="java.util.*"%> <% String id = request.getParameter("id"); String URL="jdbc:oracle:thin:@192.168.0.100:1521:testdb"; String user="user"; String password="pwd"; Connection con = DriverManager.getConnection(URL,user,password); InputStream in = null; ResultSet rs = null; OutputStream out = response.getOutputStream(); try{ Statement stmt = con.createStatement(); String sql = "select t.img from table t where id="+id; rs = stmt.executeQuery(sql); while(rs.next()) { in = rs.getBinaryStream("img"); int len = 0; byte[] byte = new byte[1024]; //response.setContentType("image/jpeg"); while ((len = in.read(byte)) != -1) { out.write(byte,0,len); } out.close(); in.close(); } }catch(Exception e){ e.printStackTrace(); }finally{ rs.close(); con.close(); } %> 显示信息页面 <img src="img.jsp">
开发者博客:www.developsearch.com
相关推荐
dm8-oracle-jdbc16-wrapper.jar
oracle-jdbc6oracle-jdbc6oracle-jdbc6oracle-jdbc6oracle-jdbc6oracle-jdbc6oracle-jdbc6
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm oracle linux 客户端 jdbc部分
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-tools-11.2...
flink-connector-jdbc_2.12-1.12.2 支持Oracle
在Oracle数据库中,LongRaw和Blob都是用于存储大对象(LOB)的数据类型,但它们有各自的特点和适用场景。在某些情况下,可能需要将LongRaw字段转换为Blob字段,这通常是因为Blob提供更好的管理和处理大型二进制数据...
本资源"mysql-oracle-sql-jdbc驱动"提供了这三种主流数据库的JDBC驱动,为开发者提供了极大的便利。 首先,我们来了解一下MySQL。MySQL是一款开源、免费的SQL数据库,因其高效、稳定和易于管理而受到全球开发者的...
Oracle JDBC驱动主要有四种类型: Thin、 Thick、JDBC-ODBC Bridge和Universal Driver,其中 Thin 驱动是最常用的一种,因为它是一种轻量级的纯Java实现,无需在客户端安装Oracle数据库客户端软件。 ojdbc8-资源....
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作; oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时...
jdbc-Oracle .java格式 ORACLE数据库的加载格式 等等
Flink JDBC Connector 支持Oracle , Flink 1.13.6 支持Oracle 11.2.0.4
在Oracle-jdbc的JAR包中,包含了如`ojdbc6.jar`或`ojdbc8.jar`等不同版本,适用于不同的Java和Oracle数据库兼容性需求。 在Web开发中,JDBC驱动程序扮演着关键角色,尤其是在使用Java Servlets、JavaServer Pages ...
其中,Oracle 提供了两种主要类型的 JDBC 驱动:JDBC-Oracle-Thin 和 OCI(Oracle Call Interface)驱动。本文主要关注的是 JDBC-Oracle-Thin 驱动。 ##### 1.1 JDBC-Oracle-Thin 的定义 JDBC-Oracle-Thin 驱动是...
标题 "pdi-ce-stable-JDBC" 暗示了这是一个与Kettle(Pentaho Data Integration,简称PDI)相关的项目,特别是涉及到使用JDBC(Java Database Connectivity)连接Oracle数据库。Kettle是一款开源的数据集成工具,...
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作; oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时...
标题"**logstash-output-jdbc**"指的是Logstash的一个输出插件,专门用于将数据从Logstash导出到关系型数据库,如MySQL,通过使用JDBC(Java Database Connectivity)接口。这个插件使得Logstash能够与各种数据库...
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作; oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时...
sqlserver的jdbc-odbc驱动,mysql的jdbc驱动,Oracle的jdbc驱动,比较全的,三个比较常用数据库的驱动,呵呵,有需要的自己下。以后还会更新一些其他方面的驱动,希望对大家有帮助,只是顺路上传一下。
标题中的“gt-jdbc-2.6.5.jar”是一个Java数据库连接(JDBC)驱动程序,用于连接Oracle数据库,并且是Geotools项目的一部分。Geotools是一个开源的Java库,专门用于处理地理空间数据,它提供了丰富的API来操作和展示...