如何向数据库导入和导出大的字符或者字节数据,如图片,音乐,电影。简称大数据
1 向数据库储存大数据;在数据库中新建一个音乐表,列名,序列,音乐名字,data(数据),其中数据的数据类型为Blob。
JDBC连接Mysql 略过,得到
Connection conn =DriverManager.getConnection(url,username,password);
//创建PrepareStatement接口
String sql =“insert into tb_music values(?,?,?)”;
PrepareStatement psts=conn.prepareStatement(sql);
psts.setInt(1,001);
psts.setString(2,“东风破.mp3”);
/*1,把mp3数据转换成字节数组
*2,通过Blob的实现类serialBlob得到Blob
*/
//把文件转换成byte数组,
byte [] bytes=IOUtils.toByteArray(new FileInputStream(“东风破.mp3”));
Blob blob=new SerialBlob(bytes);
psts.setBlob(3,blob);
psts.executeUpdate();
2 向数据库中取出“东风破.mp3”,放在F盘下。
//1 得到连接池
Connection conn=DriverManager.getConnection(url,username,password);
//2 创建PrepareStatement接口
String sql=“select * from tb_music”;
PrepareStatement psts=conn.prepareStatement(sql);
ResultSet rs=psts.executeQuery();
if(rs.next()){
Blob blob=rs.getBlob(“data”);
InputStream in=blob.getBinaryStream();
OutputStream out =new FileOutputStream(“东风破.mp3”);
IOUtils.copy(in,out);
}