• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql中blob数据处理方式
    POST TIME:2021-10-18 20:53

    具体代码如下所示:

    package epoint.mppdb_01.h3c;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.URI;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPReply;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.IOUtils;
    public class MySQLblobToMPPphoto {
      // MySQL连接
      public static Connection getMySQLConnection() throws Exception {
        String MySQLDRIVER = "com.mysql.jdbc.Driver";
        String MySQLURL = "jdbc:mysql://192.168.186.13:3306/bigdata_scene03_rktj";
        String MySQLUSERNAME = "root";
        String MySQLPASSWORD = "Gepoint";
        Connection MySQLconn = DriverManager.getConnection(MySQLURL, MySQLUSERNAME, MySQLPASSWORD);
        return MySQLconn;
      }
      // MPP连接
      public static Connection getMPPConnection() throws Exception {
        String MPPDRIVER = "com.MPP.jdbc.Driver";
        String MPPURL = "jdbc:MPP://192.168.186.14:5258/bigdata_scene03_rktj";
        String MPPUSERNAME = "mpp";
        String MPPPASSWORD = "h3c";
        Connection MPPconn = DriverManager.getConnection(MPPURL, MPPUSERNAME, MPPPASSWORD);
        return MPPconn;
      }
      //
      public static void getMySQLblobToHDFS() throws Exception {
        Connection conn = getMySQLConnection();
        ResultSet rs = null;
        try {
          String sql = "select ROW_ID,photo from t_rk_baseinfo_blob limit 10";
          Statement prest = conn.prepareStatement(sql);
          rs = prest.executeQuery(sql);
          while (rs.next()) {
            int row_id = rs.getInt(1);
            Blob photo = rs.getBlob(2);
            System.out.println(row_id + " " + photo);
            InputStream in = photo.getBinaryStream();
            OutputStream out = new FileOutputStream("H:/photo/" + row_id + ".jpg");
            int len = 0;
            byte[] buffer = new byte[1024];
            while ((len = in.read(buffer)) != -1) {
              out.write(buffer, 0, len);
            }
            upload("H:/photo/" + row_id + ".jpg");
          }
          prest.close();
          rs.close();
        } catch (Exception e) {
          e.printStackTrace();
        } finally {
          // 关闭连接
          if (conn != null) {
            try {
              conn.close();
              conn = null;
            } catch (Exception e) {
              e.printStackTrace();
            }
          }
        }
      }
      public static void main(String[] args) throws Exception {
        getMySQLblobToHDFS();
      }
      // HDFS附件上传
      public static void upload(String uploadpath) throws Exception {
        Configuration conf = new Configuration();
        URI uri = new URI("hdfs://192.168.186.14:8020");
        FileSystem fs = FileSystem.get(uri, conf, "HDFS");
        Path resP = new Path(uploadpath);
        Path destP = new Path("/photo");
        if (!fs.exists(destP)) {
          fs.mkdirs(destP);
        }
        fs.copyFromLocalFile(resP, destP);
        fs.close();
        System.out.println("***********************");
        System.out.println("上传成功!");
      }
      // HDFS附件下载
      public static void download() throws Exception {
        Configuration conf = new Configuration();
        String dest = "hdfs://192.168.186.14:/photo/11.png";
        String local = "D://11.png";
        FileSystem fs = FileSystem.get(URI.create(dest), conf, "hdfs");
        FSDataInputStream fsdi = fs.open(new Path(dest));
        OutputStream output = new FileOutputStream(local);
        IOUtils.copyBytes(fsdi, output, 4096, true);
        System.out.println("***********************");
        System.out.println("下载成功!");
      }
    }

    总结

    以上所述是小编给大家介绍的mysql中blob数据处理方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • MySQL中TEXT与BLOB字段类型的区别
    • 与MSSQL对比学习MYSQL的心得(四)--BLOB数据类型
    • Mysql的longblob字段插入数据问题解决
    • 什么是blob,mysql blob大小配置介绍
    • Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
    • java实现插入mysql二进制文件,blob类型,遇到问题及解决办法
    • PHP使用PDO从mysql读取大量数据处理详解
    上一篇:mysql 获取今天、昨天0点时间戳的实例
    下一篇:MySql通过ip地址进行访问的方法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信