首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

mysql数据库怎么储取文件

2012-07-18 
mysql数据库如何储取文件?注:转载注明原文地址:?http://thetopofqingshan.iteye.com/blog/1566499Database

mysql数据库如何储取文件

?

注:

转载注明原文地址:?http://thetopofqingshan.iteye.com/blog/1566499

DatabasesConnect 类:http://thetopofqingshan.iteye.com/blog/1504004

建议:使用在数据库中储存文件路径与文件名

?

建表sql:

?

CREATE TABLE `file` (`id` INT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id标识',`image` LONGBLOB NULL COMMENT '图片',`name` VARCHAR(50) NULL DEFAULT NULL COMMENT '图片名称',`createTime` DATETIME NULL DEFAULT NULL COMMENT '创建时间',`updateTime` DATETIME NULL DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`))COMMENT='储存文件'COLLATE='utf8_general_ci'ENGINE=InnoDB;
?

用于mysql数据库中存取文件:

package com.qingshan.jdbc;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * <pre> * 用于mysql数据库中存取文件 * </pre> * <hr Color="green" ></hr>  * 2012 admin Group 版权所有 * <hr Color="green" ></hr>  * @author  thetopofadmin * @version 1.0.0 * @since   JDK 1.5 * @date    2012-6-23 */public class FileFecthDB {private static Connection c  = null;static{DatabasesConnect.name="root";DatabasesConnect.password="admin";DatabasesConnect.databaseName="admin";try {c  = DatabasesConnect.getConnection(DatabasesConnect.MYSQL);//得到数据连接} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}/** * <pre> * 用于插入文件 * </pre> * @throws ClassNotFoundException * @throws SQLException * @throws IOException * */public static void insert() throws ClassNotFoundException, SQLException, IOException{PreparedStatement ps =  c.prepareStatement("insert into file(image,name, createTime, updateTime) values(?,?,now(),now())");File file = new File("C:/Users/Administrator/Pictures/【IThome.com】【桌面壁纸】这天空,我想飞/0.jpg");if(!file.exists()){throw new FileNotFoundException(file.getName().toString());}InputStream is =  new FileInputStream(file);ps.setBinaryStream(1, is);ps.setString(2,  file.getName().toString());ps.execute();is.close();ps.close();          c.close(); }/** * <pre> * 用于取出文件 * </pre> * @throws ClassNotFoundException * @throws SQLException * @throws IOException * */public static void select() throws ClassNotFoundException, SQLException, IOException{Statement s = c.createStatement();ResultSet rs =  s.executeQuery("select *from file");while(rs.next()){InputStream is  = rs.getBinaryStream("image");//取出文件后File file = new File("A:/"+rs.getString("name"));//储存文件的路径OutputStream os =  new FileOutputStream(file);byte b[] = new byte[1024*20];while(is.read(b) != -1){os.write(b);}is.close();os.close();}        rs.close();        s.close();        c.close(); }public static void main(String[] args) throws ClassNotFoundException, SQLException, IOException {insert();//select();}}
?

热点排行