`
love4J
  • 浏览: 71147 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mysql 数据库创建图片记录

阅读更多
后台servlet:
package com;

import java.io.IOException;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class GetImage extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		Connection con = null;
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			String URL = "jdbc:mysql://localhost:3306/test?user=root&password=root";
			con = DriverManager.getConnection(URL);
			Statement stmt = con.createStatement();
			
			/*
			 * create a BLOB record in Mysql database.
			 * */
//			PreparedStatement st = null;
//			File file = new File("d:\\tom.jpg");
//			InputStream in = new BufferedInputStream(new FileInputStream(file));
//			String sql = "insert into image(Image) values(?)";
//			st = con.prepareStatement(sql);
//			st.setBinaryStream(1, in, (int) file.length());
//			int i = st.executeUpdate();
//			in.close();
			
			/*
			 * Retrieve the image from database
			 * */
			String sql = "select * from image where Id = 2";
			ResultSet rs = stmt.executeQuery(sql);
			if (rs.next()) {
				Blob b = rs.getBlob("Image");
				long size = b.length();
				byte[] bs = b.getBytes(1, (int) size);
				response.setContentType("image/jpeg");
				OutputStream outs = response.getOutputStream();
				outs.write(bs);
				outs.flush();
				rs.close();
			}
		}catch(Exception e){
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

}


web.xml中的配置信息:
  <servlet>
    <servlet-name>GetImage</servlet-name>
    <servlet-class>com.GetImage</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>GetImage</servlet-name>
    <url-pattern>/GetImage.jsp</url-pattern>
  </servlet-mapping>

前台jsp中的code:
   <img src="GetImage.jsp">

SQL脚本:
CREATE TABLE `image` (                   
          `Id` int(11) NOT NULL auto_increment,  
          `Image` blob,                          
          PRIMARY KEY  (`Id`)                    
        ) ENGINE=InnoDB DEFAULT CHARSET=latin1  

分享到:
评论

相关推荐

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    创建mysql数据库视图

    如何建立视图,如何可视化建立视图 介绍的很简单

    SQLyog 图形化管理MYSQL数据库的工具

    SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库,而且它本身是完全免费的!!功能: 1、快速备份和恢复数据; 2、以GRID / TEXT 格式显示结果; 3、支持...

    最全Mysql数据库命令

    进入mysql数据库控制台, 如mysql -u root -p mysql&gt;use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql&gt;source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname C:...

    计算机二级mysql数据库程序设计练习题(二).docx

    计算机二级mysql数据库程序设计练习题(二)全文共12页,当前为第1页。计算机二级mysql数据库程序设计练习题(二)全文共12页,当前为第1页。计算机二级mysql数据库程序设计练习题(二) 计算机二级mysql数据库程序设计...

    Mysql数据库表编辑器,Access数据表导入到Mysql工具

    1、可以直接编辑Mysql数据库中的表记录 2、支持将Access中的表导入到Mysql数据库中。 Access数据库的字段类型必须是“字符型、日期型、数值类型(整型、浮点型)”其它类型没测试过不知道是否支持。 导入之前,请先...

    定时批量备份mysql数据库

    定时批量备份mysql数据库 保存详细的备份记录

    VC 编写的MYSQL数据库连接接口类.rar

    VC 编写的一个用于MYSQL数据库连接的接口类,用ODBC在VC 中连接MYSQL数据库,接口部分代码如下:  char* GetState();//服务器状态  char* GetServerInfo();//服务器信息  int GetProtocolInfo();//协议信息 ...

    mariadb导入导出mysql数据库的脚本:无需手动创建数据库,直接新建数据库+导入表结构+插入记录

    mysql/mariadb无需创建数据库,直接导入数据库的脚本:无需手动创建数据库,直接新建数据库+导入表结构+插入记录

    MySQL数据库:索引概述.pptx

    索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。 索引提供指针以指向...

    MYSQL数据库管理器 (易语言源代码)

    易语言对MYSQL数据库提供了紧密的支持,通过易语言操作MYSQL成为一个很简单的事情,但是MYSQL图形管理界面的缺失,却导致直接对MYSQL数据库的编辑、察看很困难,虽然已经有很多公司或个人制作的...

    MySQL数据库:用户的管理.pptx

    CREATE USER会在系统本身的mysql数据库的user表中添加一个新记录。要使用CREATE USER,必须拥有mysql数据库的全局CREATE USER权限或INSERT权限。如果账户已经存在,则出现错误。 ;【例6.3.1】添加两个新的用户,king...

    MySQL数据库:单条数据记录的插入一.pptx

    如果列清单和VALUES清单都为空,则INSERT会创建一行,每个列都设置成默认值。; 插入语句最常用格式: INSERT INTO 表名(列名,...) VALUES (表达式, ...) ;【例】 向表Book中插入如下的一行数据: ? INSERT into ...

    MySQL数据库:表的概念.pptx

    数据库和表的创建与管理 表的概念 课程目标 表的概念 表的基本概念 在MySQL中,表是数据库中最重要、最基本的操作对象,是存储数据的基本单位。一个表就是一个关系,表实质上就是行列的集合,每一行代表一条记录,每...

    数据库MySQL基础知识点1

    关系型数据库核心元素:数据库、数据表、记录、字段 客户端链接服务端 数据完整性 客户端Navicat使用 MySQL数据类型:数值型、decimal浮点型、字符串、枚举、时间 SQL-命令-数据库操作 SQL-命令-表结构的...

    sqlyog MYSQL 数据库管理工具

    11、创建或删除数据库; 12、操纵数据库的各种权限:库、表、字段; 13、编辑 BLOB 类型的字段,支持 Bitmap/GIF/JPEG 格式; 14、输出数据表结构 / 数据为 SQL 脚本; 15、支持输入 / 输出数据为 CSV 文件; 16、...

    超详细的MySQL基础入门教程 从0讲到数据库操作 共22页.pdf

    6.2 创建一个数据库 abccs 9 6.3 选择你所创建的数据库 9 6.4 创建一个数据库表 9 6.5 显示表的结构 10 6.6 往表中加入记录 11 6.7 用文本方式将数据装入一个数据库表 11 7 检索数据 12 7.1 从数据库表中检索信息 12...

    如何使用触发器管理MySQL数据库

    在SQL中,名词触发器指“在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代 码。”(Wikipedia)说得简单一些,它是在一个...还将为你展示一个触发器在现实世界中的应用实例,并检验它对数据库记录的改变。

Global site tag (gtag.js) - Google Analytics