blob类型的数据是根据二进制编码进行比较和排序(blob类型)
关于blob类型的数据是根据二进制编码进行比较和排序,blob类型不少朋友还不清楚,今天小二来为大家解答以上的问题,现在让我们一起来看看吧!
1、这个是mysql下存取blob字段的一个很简单的类,跟据自己的需要改改就行了/*** Title: ***.java* Project: test* Description: 把图片存入mysql中的blob字段,并取出* Call Module: mtools数据库中的tmp表 * File: C:downloadsluozsh.jpg* Copyright: Copyright (c) 2003-2003* Company: uniware* Create Date: 2002.12.5* @Author: FeiFan* @version 1.0 版本* * * Revision history* Name Date Description* ---- ---- -----------* Chenqh 2003.12.5 对图片进行存取** note: 要把数据库中的Blob字段设为longblob **///package com.uniware;import ***.io.*;import java.util.*;import java.sql.*;public class BlobPros{ private static final String URL = "jdbc:mysql://10.144.123.63:3306/mtools?user=wind&password=123&useUnicode=true"; private Connection conn = null; private PreparedStatement pstmt = null; private ResultSet rs = null; private File file = null; public BlobPros() { } /** * 向数据库中插入一个新的BLOB对象(图片) * * @param infile - 要输入的数据文件 * @throws java.lang.Exception * */ public void blobInsert(String infile) throws Exception { FileInputStream fis = null; try { Class.forName("org.gjt.mm.mysql.Driver").newInstance(); conn = DriverManager.getConnection(URL); file = new File(infile); fis = new FileInputStream(file); //InputStream fis = new FileInputStream(infile); pstmt = conn.prepareStatement("insert into tmp(descs,pic) values(?,?)"); pstmt.setString(1,file.getName()); //把传过来的第一个参数设为文件名 //pstmt.setBinaryStream(2,fis,(int)file.length()); //这种方法原理上会丢数据。
2、因为file.length()返回的是long型 pstmt.setBinaryStream(2,fis,fis.available()); //第二个参数为文件的内容 pstmt.executeUpdate(); } catch(Exception ex) { System.out.println("[blobInsert error : ]" + ex.toString()); } finally { //关闭所打开的对像// pstmt.close(); fis.close(); conn.close(); } } /** * 从数据库中读出BLOB对象 * * @param outfile - 输出的数据文件 * @param picID - 要取的图片在数据库中的ID * @throws java.lang.Exception * */ public void blobRead(String outfile,int picID) throws Exception { FileOutputStream fos = null; InputStream is = null; byte[] Buffer = new byte[4096]; try { Class.forName("org.gjt.mm.mysql.Driver").newInstance(); conn = DriverManager.getConnection(URL); pstmt = conn.prepareStatement("select pic from tmp where id=?"); pstmt.setInt(1,picID); //传入要取的图片的ID rs = pstmt.executeQuery(); ***.next(); file = new File(outfile); if(!file.exists()) { file.createNewFile(); //如果文件不存在,则创建 } fos = new FileOutputStream(file); is = rs.getBinaryStream("pic"); int size = 0; /* while(size != -1) { size = ***.read(Buffer); //从数据库中一段一段的读出数据 //System.out.println(size); if(size != -1) //-1表示读到了文件末 fos.write(Buffer,0,size); } */ while((size = ***.read(Buffer)) != -1) { //System.out.println(size); fos.write(Buffer,0,size); } } catch(Exception e) { System.out.println("[OutPutFile error : ]" + e.getMessage()); } finally { //关闭用到的资源 fos.close(); rs.close(); pstmt.close(); conn.close(); } } public static void main(String[] args) { try { BlobPros blob = new BlobPros(); //blob.blobInsert("C:\Downloads\luozsh1.jpg"); blob.blobRead("c:/downloads/luozishang.jpg",47); } catch(Exception e) { System.out.println("[Main func error: ]" + e.getMessage()); } }}。
本文到此分享完毕,希望对你有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
2025年6月20日,——在世界文化遗产地河南洛阳的光影流转之间,2025年新浪微博旅游之夜盛大举行。作为国内首个...浏览全文>>
-
2025年6月20日,——在世界文化遗产地河南洛阳的光影流转之间,2025年新浪微博旅游之夜盛大举行。作为国内首个...浏览全文>>
-
QQ多米试驾线下预约活动为了让更多用户感受QQ多米的独特魅力,我们特别推出了线下试驾预约活动。这不仅是一次...浏览全文>>
-
阜阳长安启源A07以其卓越的性能和豪华配置吸引了众多消费者的目光。作为一款定位高端市场的新能源车型,长安启...浏览全文>>
-
【安徽淮南大众CC新车报价2025款大公开】大众CC作为一款兼具运动感与豪华质感的轿跑车型,一直深受消费者喜爱...浏览全文>>
-
2025款长安猎手K50在安徽淮南地区的最新价格已新鲜出炉,为准备购车的朋友带来全面解析。这款车型以其高性价比...浏览全文>>
-
在安徽滁州购买长安猎手K50时,了解其落地价和省钱技巧至关重要。长安猎手K50是一款实用性强的皮卡车型,适合...浏览全文>>
-
途锐新能源是大众旗下的一款高端插电混动SUV,目前在安徽阜阳地区有售。其官方指导价约为58万元起,但实际成交...浏览全文>>
-
2025款大众CC作为一款兼具运动与豪华的中型轿车,备受关注。目前市场指导价大约在25万至35万元之间,具体价格...浏览全文>>
-
2024款探岳X作为一款备受关注的中型SUV,在市场上以其时尚的设计和出色的性能吸引了众多消费者。根据最新市场...浏览全文>>
- QQ多米试驾线下预约
- 安徽滁州长安猎手K50落地价,买车省钱秘籍
- 淮南大众CC新款价格2025款多少钱?买车攻略一网打尽
- 瑞虎8 PRO试驾,畅享豪华驾乘,体验卓越性能
- 安徽阜阳长安启源A05多少钱 2025款落地价,换代前的购车良机,不容错过
- 保时捷Macan试驾的流程是什么
- 安徽淮南大众ID.3多少钱?购车攻略在此
- 阜阳揽巡落地价,豪华配置超值价来袭
- 安徽池州威然 2024新款价格与配置的完美平衡
- 奇瑞瑞虎9试驾,新手必知的详细步骤
- QQ多米价格,换代前的购车良机,不容错过
- 池州迈腾GTE新款价格2022款多少钱?选车秘籍与优惠全公开
- 岚图追光多少钱 2024款落地价走势,近一个月最低售价25.28万起,性价比凸显
- 天津滨海威然 2024新款价格,最低售价28.98万起,入手正当时
- 蚌埠途昂新款价格2025款多少钱?购车必看
- 坦克400预约试驾全攻略
- 天津滨海ID.7 VIZZION价格,各配置车型售价全揭晓,性价比之王
- 安庆帕萨特最新价格2025款,最低售价12.35万起,入手正当时
- 亳州宝来新款价格2025款多少钱?选车指南与落地价全解析
- 生活家PHEV 2025新款价格,最低售价63.98万起现在该入手吗?