java把图片保存到数据库中的例子

例子代码

Class.forName("com.mysql.jdbc.Driver");

 //System.out.print("加载驱动完毕");

 String url="jdbc:mysql://localhost:3306/studentmanager";

 String username="root";

 String password="root";

 String sql1="select * from images";

 Connection conn=DriverManager.getConnection(url,username,password);

 //创建一个 Statement 对象来将 SQL 语句发送到数据库。

 PreparedStatement pst=conn.prepareStatement(sql1);

 ResultSet rs=pst.executeQuery();

 

 rs.next();

 //从ResultSet中得到Blob的对象

 Blob b=rs.getBlob("img");

 //通过Blob对象的getBinaryStream得到字节流

 InputStream fis= b.getBinaryStream();

 //构建字节流的缓存BufferedInputStream的对象

 BufferedInputStream bis=new BufferedInputStream(fis);

 //准备一个FileOutputStream输出流对象

 FileOutputStream fos =new FileOutputStream("d://2.jpg");

 //准备一个字节数组,以备缓存读对象BufferedInputStream,每次读这些字节长度

 byte[] be=new byte[1024];

 //每读1024个字节就向FileOutputStream写1024个字节,直到写完。

 while((bis.read(be))!=-1){

 fos.write(be);

 }

 fos.flush();

 fos.close();

 fis.close();

 bis.close();

 } catch (Exception ex) {

ex.printStackTrace();

}

 

 }

 

 public void write(){

 try {

 Class.forName("com.mysql.jdbc.Driver");

 //System.out.print("加载驱动完毕");

 String url="jdbc:mysql://localhost:3306/studentmanager";

 String username="root";

 String password="root";

 String sql1="insert into images values (?)";

 Connection conn=DriverManager.getConnection(url,username,password);

 //创建一个 Statement 对象来将 SQL 语句发送到数据库。

 PreparedStatement pst=conn.prepareStatement(sql1);

 File file=new File("e://1.jpg");

 int len=(int)file.length();

 FileInputStream fis=new FileInputStream(file);

 pst.setBinaryStream(1,fis,len);

 int count=pst.executeUpdate();

if(count>0){

System.out.println("执行成功");

}else{

 System.out.println("执行未返回任何影响行数");

}

 

 } catch (Exception ex) {

ex.printStackTrace();

}

其实就是以二进制形式存储在数据库了,此方法不推荐了因为数据多了不方便处理了并且数据库会很大查询也比较慢了.

时间: 2024-09-26 22:16:27

java把图片保存到数据库中的例子的相关文章

怎么把Action生成的图片保存到数据库中。坐等大神出现

问题描述 在Strut2的一个Action中,我用JFreeChart生成了一个图片.请问怎么把这个图片保存到MySql数据库呢,是直接保存图片好呢 还是保存图片路径好.希望大神们指点下 保存路径时候该怎么做啊 解决方案 我建议你保存路径,在保存路径之前, 你先把图片保存到你的磁盘上,然后获取保存图片的绝对路径,然后把绝对路径存入数据库.网上类似的例子很多,你多搜索一下,不要把图片保存在数据库.太差了......解决方案二:图片保存在数据库中就是一场噩梦,千万不要啊!解决方案三:如果图片不多比较

如何用asp.net把上传的图片保存到数据库中

在这篇文章中我们可以学到以下几个方面的知识:     1. 插入图片的必要条件     2. 使用流对象     3. 查找准备上传的图片的大小和类型     4.怎么使用InputStream方法? 插入图片的必要条件 在我们开始上传之前,有两件重要的事我们需要做: #Form 标记的 enctype 属性应该设置成 enctype="multipart/form-data" # 需要一个<input type=file>表单来使用户选择他们要上传的文件,同时我们需要导入

这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来

问题描述 这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来 public class SaveHotKeySkillReq extends CommandBase { @Resource //数据库操作 private EntityManager em; protected void execute() throws GMessageException { CRequesthotKeyChange msg = pak.readMsg(CRequesthotKeyCha

jsp实现本地图片预览并保存至数据库中

问题描述 jsp实现本地图片预览并保存至数据库中 预览本地图片,并把图片保存至数据库,如何实现 (是直接获取图片信息保存至数据库好还是将图片上传至服务器再将路径保存到数据库 中更好) 解决方案 参考:http://blog.csdn.net/gulijiang2008/article/details/10252219http://blog.csdn.net/dracowk/article/details/6920746 大量的图片还是直接存文件系统更好.

ueditor 如何将带有格式的文本保存在数据库中

问题描述 ueditor 如何将带有格式的文本保存在数据库中 请问如何将ueditor中带有格式的文本保存在数据库中,在另一页面显示时会显示带有格式的文本. 解决方案 你的ueditor放到表单里面,提交表单到动态页,提交前ueditor会自动将编辑器中的内容赋值给表单中的隐藏域的. 隐藏域默认的键名称为editorValue,你也可以配置textarea指定这个名称. 入库是html格式的,读出来的也是html格式的直接显示就行 注意你服务器端的配置,有些可能会配置过将html标签替换为实例对

怎么把文件保存到数据库中并且还原回来

问题描述 把一个文件保存到数据库中,在以后要用的时候要还原回来,文件可能包含图片,希望大家能赐教.谢谢 解决方案 文件可能包含图片???是什么格式文件啊???doc?我觉得你可以将文件转换成二进制的文件保存到数据库表的blog字段中,要还原文件的话,再给转换回来.解决方案二:一般来说都是把文件以二进制的方式存储到数据库中,还原也是读取这个字段中的二进制.但很多时候都是把文件的地址保存在 数据库中,这样根据数据库中的地址到相应目录去找文件,省事的多,也被很多人采纳解决方案三:用BLOB字段读和写分

asp.net图片保存到数据库和从数据库读取图片并显示

例1  代码如下 复制代码 private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { pathName = this.openFileDialog1.FileName; System.Drawing.Image img = Syste

实现通过jsp读取文件内容并保存到数据库中

问题描述 通过jsp读取文件内容并保存到数据库中要读取的文件格式文.txt或者Excel都可以!jsp页面怎么写?如何实现?还有Java代码 解决方案 解决方案二:通过jsp读取文件内容并保存到数据库中要读取的文件格式文.txt或者Excel都可以!jsp页面怎么写?如何实现?还有Java代码解决方案三:建议:页面jsp做成上传文件,后台用流读取文件,将内容存储到数据库.注意:文件内容的大小与数据库字段的大小

如何将数据保存到数据库中

问题描述 使用ssh框架时,我需要在页面上输入一个小数,java中接收到的也是一个小数,保存到数据库中也要是小数(numeric)类型的,请教各位大大帮忙解决! 问题补充:我咋java中用的double类型(比如说money),在oracle数据库中用的是numeric类型,在页面上传过来的是一个小说(比如12.123),可是保存到数据库中的总是一个整数,我需要的是能够精确到分的数字!请问要怎么定义money的类型呢?? 解决方案 如果是金额:页面传递用string,java用BigDecima