游动 发表于 2009-2-12 09:00:20

java中插入图片到oracle中

package com.qhit;
    import java.sql.*;
    public class OracleConn {
   /**   * @param args   */public static void main(String[] args) {
    //设置连接url   String url = "jdbc:oracle:thin:@localhost:1521:xmrc";
    //用户名   String user = "scott";
    //密码   String password="tiger";
      Connection conn = null;   java.sql.Statement st = null;   java.sql.PreparedStatement pst = null;   java.sql.ResultSet rs = null;   try{
    //实例化oracle驱动,注意要把驱动包导入进来,驱动包在oracle中可以找到,或者到网上下都可以    new oracle.jdbc.driver.OracleDriver();
    //使用驱动管理器和url,用户名,密码,连接数据库得到连接conn
    conn = java.sql.DriverManager.getConnection(url, user, password);
    //取消自动提交,默认的时候都是自动提交的
    conn.setAutoCommit(false);
    st = conn.createStatement();
      //测试数据库的连接有没有成功
    /*String sql = "select * from emp";
      rs = st.executeQuery(sql);
    while(rs.next()){
   int c = rs.getMetaData().getColumnCount();
   for(int i=0;i<c;i){
      System.out.print(rs.getString(i 1)   "--------");
   }
   System.out.println();
    }*/
      //插入图片到数据库
    /*

   
                  
    String sql = "insert into image_tab(id,image) values(1,empty_blob())";
    st = conn.createStatement();
      st.executeUpdate(sql);
      String sql = "select image from image_tab where id = 1 for update";
    rs = st.executeQuery(sql);
       if(rs.next()){   oracle.sql.BLOB b = (oracle.sql.BLOB)rs.getBlob(1);
   java.io.OutputStream os = b.getBinaryOutputStream();
       java.io.InputStream is = new java.io.FileInputStream("D:\\样品.jpg");
   int i = 0;
   while((i = is.read()) != -1){
      os.write(i);
   }
   is.close();
   os.close();
    }*/
      //从数据库里检索出图片
    String sql = "select image from image_tab where id=1";
    rs = st.executeQuery(sql);
    if(rs.next()){
   oracle.sql.BLOB b = (oracle.sql.BLOB)rs.getBlob(1);
   java.io.InputStream is = b.getBinaryStream();
          java.io.FileOutputStream fos = new java.io.FileOutputStream("E:\\test.jpg");
   int i = 0;
          while((i = is.read())!= -1){
      fos.write(i);
   }
   fos.close();
   is.close();
    }
    conn.commit();
   }catch(Exception e){
    try{
   conn.rollback();
    }catch(Exception e1){
   e1.printStackTrace();
    }
    e.printStackTrace();
   }finally{
    try{
   if(rs != null)rs.close();
   if(st != null)st.close();
   if(pst != null)pst.close();
   if(conn != null)conn.close();
    }catch(Exception e){
   e.printStackTrace();
    }
   }
   }
    }
   上一页
页: [1]
查看完整版本: java中插入图片到oracle中