JDBC编程实现文件、图片的存储方法

本文实例讲述了JDBC编程实现文件、图片的存储方法。分享给大家供大家参考,具体如下:

/*
实现的功能:
 用数据库存储文本数据,并且读取出来放在当前项目里
分析:
 难度不是很大,关键是掌握文件流,数据库的操作不是很多,但是文件流的读写比较多
日期:20131003
作者:烟大阳仔
*/
public class Ckb_test {
 public static void main(String[] args) throws SQLException, IOException {
  // TODO Auto-generated method stub
  read();
 }
 static void create() throws SQLException, IOException
 {
  Connection conn=null;
  PreparedStatement prest=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   String sql="insert into ckb_test(text) values(?)";
   prest=conn.prepareStatement(sql);
   File file=new File("src/cn/com/JDBC/JdbcUtils.java");
   Reader reader=new BufferedReader(new FileReader(file));
   prest.setCharacterStream(1, reader, (int)file.length());
   //4.执行语句
   int i=prest.executeUpdate();
   reader.close();
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, prest, conn);
  }
 }
 static void read() throws SQLException, IOException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   st=conn.createStatement();
   //4.执行语句
   resultset=st.executeQuery("select text from ckb_test");
   //5.处理结果
   while(resultset.next())
   {
    Clob clob=resultset.getClob(1);
    Reader reader=clob.getCharacterStream();
    //reader=resultset.getCharacterStream(1);
    File file=new File("JdbcUtils.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();
   }
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
}
/*
实现的功能:
 用数据库存储图片数据,并且读取出来放在当前项目里
分析:
 难度不是很大,关键是掌握字节流,数据库的操作不是很多,但是文件流的读写比较多,注意更改图片的目录
日期:20131003
作者:烟大阳仔
*/
public class PictureBlob {
 public static void main(String[] args) throws SQLException, IOException {
  read();
 }
 static void create() throws SQLException, IOException
 {
  Connection conn=null;
  PreparedStatement prest=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   String sql="insert into blob_test(big_bit) values(?)";
   prest=conn.prepareStatement(sql);
   File file=new File("C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures\\cxg.jpg");
   InputStream in=new BufferedInputStream(new FileInputStream(file));
   prest.setBinaryStream(1, in, (int)file.length());
   //4.执行语句
   int i=prest.executeUpdate();
   in.close();
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, prest, conn);
  }
 }
 static void read() throws SQLException, IOException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   st=conn.createStatement();
   //4.执行语句
   resultset=st.executeQuery("select big_bit from blob_test");
   //5.处理结果
   while(resultset.next())
   {
    Blob blob=resultset.getBlob(1);
    InputStream in=blob.getBinaryStream();
    //reader=resultset.getCharacterStream(1);
    File file=new File("1.jpeg");
    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();
   }
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
}

希望本文所述对大家Java程序设计有所帮助。

(0)

相关推荐

  • JDBC用法小结

    本文实例总结了JDBC的用法.分享给大家供大家参考.具体分析如下: DriverManger:驱动管理器类 要操作数据库,必须先与数据库创建连接,得到连接对象 public static Connection getConnection(String url, String username,String password){} Connection:连接接口: 通过DriverManger类的getConnection方法,将获得连接对象,执行sql语句必须借助语句对象(Statement)

  • jdbc调用mysql存储过程实现代码

    1. 创建存储过程 建立一个MySQL的存储过程 add_pro 复制代码 代码如下: delimiter // drop procedure add_pro // create procedure add_pro(a int , b int , out sum int ) begin set sum = a * b; end; // 2. 调用存储过程 复制代码 代码如下: package com.zhanggaosong; import java.sql.CallableStatement;

  • mysql jdbc连接步骤及常见参数

    mysql数据库自不必说,现在很多程序开发应用及站长们常用到,jdbc可能一般会比较陌生一些,jdbc是什么意思?这里也会提到,最主要的是为大家介绍一下,mysql jdbc连接步骤及常见参数详解. jdbc是什么意思? jdbc(java data base connectivity,java数据库连接)是一种用于执行sql语句的javaapi,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成.jdbc提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能

  • 完整java开发中JDBC连接数据库代码和步骤

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ Sys

  • jdbc操作mysql数据库实例

    本文实例讲述了jdbc操作mysql数据库的方法.分享给大家供大家参考.具体如下: import java.sql.*; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; class conn{ String url="jdbc:mysql://127.0.0.1/nariData"; final Strin

  • JDBC连接Sql Server 2005总结

    1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>.SQL Server Management Studio 下载地址:http://www.micros

  • JDBC对MySQL数据库布尔字段的操作方法

    本文实例讲述了JDBC对MySQL数据库布尔字段的操作方法.分享给大家供大家参考.具体分析如下: 在Mysql数据库如果要使用布尔字段,而应该设置为BIT(1)类型 此类型在Mysql中不能通过MySQLQueryBrowser下方的Edit与Apply Changed去编辑 只能通过语句修改,比如update A set enabled=true where id=1 把A表的id为1的这一行为BIT(1)类型的enabled字段设置为真 在JAVA中,使用JDBC操作这个字段的代码如下: c

  • Java中使用JDBC操作数据库简单实例

    好久没有编写有关数据库应用程序啦,这里回顾一下java JDBC. 1.使用Java JDBC操作数据库一般需要6步: (1)建立JDBC桥接器,加载数据库驱动: (2)连接数据库,获得Connection对象(使用数据库连接地址,用户名,密码): (3)获得数据库Statement对象: (4)执行数据库操作: (5)读取结果: (6)关闭数据库连接: 2.使用Java JDBC操作数据库(mysql)代码: 连接mysql数据库,需要导入mysql数据库jar包,本代码使用mysql-con

  • JDBC 使用说明(流程、架构、编程)

    JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: •连接数据源,如:数据库. •为数据库传递查询和更新指令. •处理数据库响应并返回的结果. JDBC 架构 分为双层架构和三层架构. 双层 作用:此架构中,Java Applet 或应用直接访问数据源. 条件:要求 Driver 能与访问的数据库交互. 机制:用户命令传给数据库或其他数据源,随之结果被返回. 部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网).

  • JSP中使用JDBC访问SQL Server 2008数据库示例

    由JDBC驱动直接访问数据库 优点:100% Java,快又可跨平台 缺点:访问不同的数据库需要下载专用的JDBC驱动 (1)下载对应数据库版本的jdbc驱动并安装,注意安装后的得到的三个文件msbase.jar,mssqlserver.jar,msutil.jar,将其拷贝到jsp项目的WEB-INF/lib下面,也拷贝到Tomcat安装目录的lib下面,没有具体测试,应该和配置文件有关系. (2)数据源,不需要 (3)配置文件,不需要 (4)写JSP文件测试 <%@ page content

随机推荐