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

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); } }

浙公网安备 33010602011771号