大数据

什么是大数据?

  所谓大数据就是大的字节数据,或是大的字符数据。

1.创建一张保存数据的表:

2.把MP3保存到数据库中

/**
 * 把MP3保存到数据库中
 * @throws IOException 
 * @throws FileNotFoundException 
 */
    @Test
    public void fun1() throws Exception{
        /*
         * 1.得到Connection
         * 2.给出sql模板,创建pstmt
         * 3.设置sql模板中的参数
         * 4.调用pstmt的executeUpdate()执行
         */
        Connection con = JdbcUtil1.getConnection();
        String sql = "INSERT INTO big_data VALUES(?,?,?)";
        PreparedStatement pstmt = con.prepareStatement(sql);
        
        pstmt.setInt(1, 1);
        pstmt.setString(2, "不是爱情.mp3");
        /**
         * 需要得到Blob
         * 1.我们有的是文件,目标是Blob
         * 2.先把文件变成byte[]
         * 3.在使用byte[]创建Blob
         */
        //把文件转换成byte[]
        byte[] bytes = IOUtils.toByteArray(new FileInputStream("G:/music/不是爱情.mp3"));
        //使用byte[]创建Blob
        Blob blob = new SerialBlob(bytes);
        //设置参数
        pstmt.setBlob(3, blob);
        pstmt.executeUpdate();
    
    }

注意:在my.ini中添加如下配置:max_allowed_packet=10485760(约10M);

3.从数据库读取MP3

 

/**
     * 从数据库读取mp3
     * @throws SQLException 
     * @throws IOException 
     */
    @Test
    public void fun2() throws SQLException, IOException  {
        /*
         * 1.创建Connection
         */
        Connection con = JdbcUtil1.getConnection();
        /*
         * 2.给出select语句模板,创建pstmt
         */
        String sql = "select * from big_data";
        PreparedStatement pstmt = con.prepareStatement(sql);
        /*
         * 3.pstmt执行查询,得到ResultSet
         */
        ResultSet rs = pstmt.executeQuery();
        /*
         * 4.获取rs中名为data的列数据
         */
        if(rs.next()) {
            Blob blob = rs.getBlob("data");
            /*
             * 把Blob变成硬盘上的文件!
             */
            /*
             * 1.通过Blob得到输入流对象
             * 2.自己创建输入流对象
             * 3.把输入流的数据写入到输出流中
             */
            InputStream in = blob.getBinaryStream();
            OutputStream out = new FileOutputStream("F:/bsai.mp3");
            IOUtils.copy(in, out);
        }
        
    }

 

posted @ 2018-08-20 19:34  cmlx  阅读(115)  评论(0)    收藏  举报