mysql Blob存取的一个简单例子
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql Blob存取的一个简单例子,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1689字,纯文字阅读大概需要3分钟。
内容图文
一、得到mysql的连接
这里封装成一个方法,方便后面使用。
public Connection getConnection() throws Exception{
String url = "jdbc:mysql://localhost:3306/dbfortest";
String user = "root";
String password = "root";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
二、将数据存入数据库
/**
*
* @param file 需要传入数据库的文件
* @throws Exception
*/
public void save(File file) throws Exception{
Connection conn = getConnection();
String sql = "insert into tb_blob (name,myfile) values(?,?)";
PreparedStatement prest = conn.prepareStatement(sql);
String filename=file.getName();
prest.setString(1, filename);//根据文件名称来保存
FileInputStream fis = new FileInputStream(file);
prest.setBlob(2, fis,file.length());//第二个参数需要一个InputStream
prest.execute(); //执行
}
三、将数据取出,同时写入文件。
/**
*
* @param filename 列的值,同时是文件名
* @throws Exception
*/
public void getMp3(String filename) throws Exception{
Connection conn = getConnection();
String sql = "select * from tb_blob where name= ?";
PreparedStatement prest = conn.prepareStatement(sql);
prest.setString(1, filename);
ResultSet rs = prest.executeQuery();
while(rs.next()){
Blob bl = rs.getBlob("myfile");//数据保存在"myfile",这里则是取出这里保存的数据。
InputStream is = bl.getBinaryStream(); //查看blob,可以通过流的形式取出来。
BufferedInputStream buffis = new BufferedInputStream(is);
//保存到buffout,就工程目录下的filename的文件
BufferedOutputStream buffout = new BufferedOutputStream(new FileOutputStream(filename));
byte[] buf= new byte[1024];
int len = buffis.read(buf, 0, 1024);
while(len>0){
buffout.write(buf);
len=buffis.read(buf, 0, 1024);
}
buffout.flush();
buffout.close();
buffis.close();
}
}
原文:http://www.cnblogs.com/jway1101/p/5815658.html
内容总结
以上是互联网集市为您收集整理的mysql Blob存取的一个简单例子全部内容,希望文章能够帮你解决mysql Blob存取的一个简单例子所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。