zoukankan      html  css  js  c++  java
  • Mysql中大数据类型的存取

    标准SQL中提供了八种大数据类型

    上面四种是针对字节数据(二进制字符串类型,主要存储图片、音频信息等),下面四种是针对字符数据(非二进制字符串类型,纯文本文件)。

    MySql中不使用标准SQL中针对字符数据的类型,而是使用

    下面实现对mp3的存放,首先建一个表music

    这里数据类型使用mediumblob类型,使用JDBC进行存储

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Properties;
    
    import javax.sql.rowset.serial.SerialBlob;
    
    import org.apache.commons.io.IOUtils;
    import org.junit.Test;
    
    
    public class InsertBlog {
        /**
         * @throws SQLException
         * @throws FileNotFoundException
         * @throws IOException
         * @throws ClassNotFoundException
         * 从配置文件dbconfig.properties中读取JDBC连接四大参数
         * 使用IOutils包,需要导包
         */
        @Test
        
        public  void insert() throws SQLException, FileNotFoundException,
                IOException, ClassNotFoundException {
    
            InputStream in = InsertBlog.class.getClassLoader().getResourceAsStream(
                    "dbconfig.properties");
            Properties pro = new Properties();
            pro.load(in);
            String url = pro.getProperty("url");
            String name = pro.getProperty("name");
            String password = pro.getProperty("password");
            String drivername = pro.getProperty("DriverClassName");
            System.out.println(url + "" + name + "" + password + "" + drivername);
            Class.forName(drivername);
    
            Connection conn = DriverManager.getConnection(url, name, password);
            String sql = "insert into music values(?,?,?)";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setInt(1, 1);
            ps.setString(2, "你还要我怎样");
            System.out.println(111);
            byte[] bytes = IOUtils
                    .toByteArray(new FileInputStream("E:/你还要我怎样.mp3"));
            System.out.println(111);
            Blob blob = new SerialBlob(bytes);
            ps.setBlob(3, blob);
            ps.executeUpdate();
        }
        
         @Test
        public void find() throws IOException, ClassNotFoundException, SQLException {
             InputStream in = InsertBlog.class.getClassLoader()
                        .getResourceAsStream("dbconfig.properties");
                Properties pro = new Properties();
                pro.load(in);
                String url = pro.getProperty("url");
                String name = pro.getProperty("name");
                String password = pro.getProperty("password");
                String drivername = pro.getProperty("DriverClassName");
                System.out.println(url + "" + name + "" + password + ""
                        + drivername);
                Class.forName(drivername);
    
                Connection conn = DriverManager.getConnection(url, name, password);
                String sql = "Select * from music";
                PreparedStatement ps = conn.prepareStatement(sql);
                ResultSet rs=ps.executeQuery();
                if(rs.next()){
                    Blob blob=rs.getBlob("data");
                    InputStream n=blob.getBinaryStream();
                    OutputStream out=new FileOutputStream("E:/大头鬼.mp3");
                     IOUtils.copy(n,out);
                }
        }
    
        
    }

     

  • 相关阅读:
    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结
    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用
    jQuery UI组件库Kendo UI使用技巧小分享
    Kendo UI ListView模板功能,让Web开发更轻松
    UI组件套包DevExpress ASP.NET Core v20.2新版亮点:全新的查询生成器
    Devexpress WinForms最新版开发.NET环境配置Visual Studo和SQL Server对应版本
    全新的桌面应用数据可视化呈现方式,Sankey Diagram控件你了解多少?
    java中的递归方法
    连接数据库查询 将查询结果写入exce文件中
    java连接mysql数据查询数据
  • 原文地址:https://www.cnblogs.com/wxw7blog/p/7875475.html
Copyright © 2011-2022 走看看