最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java+mysql本地圖片上傳數(shù)據(jù)庫(kù)及下載示例

 更新時(shí)間:2017年01月24日 14:14:02   作者:Ro_kin  
本篇文章主要介紹了Java+mysql本地圖片上傳數(shù)據(jù)庫(kù)及下載示例,具有一定的參加價(jià)值,有興趣的可以了解一下。

做一個(gè)將本地圖片上傳到mysql數(shù)據(jù)庫(kù)的小實(shí)例,順便也下載下來到桌面檢測(cè)是否上傳成功。

在寫代碼之前得先在數(shù)據(jù)庫(kù)中建立image表,用來存儲(chǔ)圖片。

create table image 
(id int primary key auto_increment , 
 name varchar(30) COMMENT '名稱', 
 content mediumblob COMMENT '圖片');

下面直接上代碼:

package jdbc_imagetest;

import java.io.*;
import java.sql.*;
/**
 * 將本地文件的圖片傳到數(shù)據(jù)庫(kù)的test的image表中并下載到本機(jī)桌面
 */
public class Test1 {

  private static String url="jdbc:mysql://localhost:3306/test";
  private static String user="root";
  private static String password="123456";
  private static Connection con;

  public static void main(String[] args) throws Exception {
    Class.forName("com.mysql.jdbc.Driver");
    con=DriverManager.getConnection(url,user,password);
    shangchuan();
    xiazai();    
  }
  //添加圖片到數(shù)據(jù)庫(kù)test4的file表
  public static void shangchuan() throws Exception{
    String sql="insert into image(name,content) values(?,?)";
    PreparedStatement ptmt=con.prepareStatement(sql);
    ptmt.setString(1, "美女.jpg");
    InputStream is=null;
    is=new FileInputStream("D:\\Pictures\\3.jpg");
    ptmt.setBinaryStream(2, is,is.available());
    //方法說明:PreparedStatement.setBinaryStream(int parameterIndex, InputStream x, int length)
    ptmt.execute();
    System.out.println("圖片添加成功!");

  }
  //從數(shù)據(jù)庫(kù)中把圖片下載至桌面
  public static void xiazai() throws Exception{
    String sql="select content from image where id=3";//在我這里3.jpg是第三張圖片
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery(sql);//將查詢結(jié)果給rs
    if(rs.next()){
      InputStream is=rs.getBinaryStream("fcontent");
      //.getBinaryStream():a Java input stream that delivers the database column value as a stream of uninterpreted bytes
      FileOutputStream fos=new FileOutputStream("C:\\Users\\Desktop\\美女.jpg");
      byte[] buffer=new byte[1024];
      int len=0;
      while((len=is.read(buffer))!=-1){
        fos.write(buffer,0,len);//將數(shù)據(jù)庫(kù)的圖片寫出
      }
      System.out.println("下載成功!已下載至桌面,請(qǐng)查看");
    }else{
      System.out.println("圖片不存在!");
    }
    con.close();
  }


}

測(cè)試成功

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)帶有權(quán)重隨機(jī)算法的示例詳解

    Java實(shí)現(xiàn)帶有權(quán)重隨機(jī)算法的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)帶有權(quán)重隨機(jī)算法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Java中comparator接口和Comparable接口的比較解析

    Java中comparator接口和Comparable接口的比較解析

    這篇文章主要介紹了Java中comparator接口和Comparable接口的比較解析,Java提供了一個(gè)用于比較的接口Comparator和Comparable接口,提供了一個(gè)比較的方法,所有實(shí)現(xiàn)該接口的類,都動(dòng)態(tài)的實(shí)現(xiàn)了該比較方法,需要的朋友可以參考下
    2023-08-08
  • Java中正則表達(dá)式的使用和詳解(上)

    Java中正則表達(dá)式的使用和詳解(上)

    這篇文章主要介紹了Java中正則表達(dá)式的使用和詳解,包括匹配驗(yàn)證驗(yàn)證email是否正確,在字符串中查詢字符或者字符串的代碼實(shí)例,需要的朋友可以參考下
    2017-04-04
  • Java中復(fù)雜的Synchronized關(guān)鍵字使用方法詳解

    Java中復(fù)雜的Synchronized關(guān)鍵字使用方法詳解

    Synchronized關(guān)鍵字是一個(gè)種鎖,其有很多名字,例如重量級(jí)鎖、悲觀鎖、可重入鎖、、非公平、對(duì)象鎖等等,這篇文章主要給大家介紹了關(guān)于Java中復(fù)雜的Synchronized關(guān)鍵字使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java中增強(qiáng)for循環(huán)的實(shí)現(xiàn)原理和坑詳解

    Java中增強(qiáng)for循環(huán)的實(shí)現(xiàn)原理和坑詳解

    增強(qiáng)的for循環(huán)是在傳統(tǒng)的for循環(huán)中增加的強(qiáng)大的迭代功能的循環(huán),是在jdk1.5之后提出來的。下面這篇文章主要給大家介紹了關(guān)于Java中增強(qiáng)for循環(huán)的實(shí)現(xiàn)原理和坑的相關(guān)資料,需要的朋友可以參考下
    2018-04-04
  • Java 基礎(chǔ) byte[]與各種數(shù)據(jù)類型互相轉(zhuǎn)換的簡(jiǎn)單示例

    Java 基礎(chǔ) byte[]與各種數(shù)據(jù)類型互相轉(zhuǎn)換的簡(jiǎn)單示例

    這篇文章主要介紹了Java 基礎(chǔ) byte[]與各種數(shù)據(jù)類型互相轉(zhuǎn)換的簡(jiǎn)單示例的相關(guān)資料,這里對(duì)byte[]類型對(duì)long,int,double,float,short,cahr,object,string類型相互轉(zhuǎn)換的實(shí)例,需要的朋友可以參考下
    2017-01-01
  • IDEA部署Tomcat的超詳細(xì)圖文教程

    IDEA部署Tomcat的超詳細(xì)圖文教程

    最近迫于無奈從我哪破舊的Eclipse轉(zhuǎn)換到了IDEA,然后就是超多的不習(xí)慣,下面這篇文章主要給大家介紹了關(guān)于IDEA部署Tomcat的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • SpringBoot Shiro 權(quán)限注解不起作用的解決方法

    SpringBoot Shiro 權(quán)限注解不起作用的解決方法

    本文主要介紹了SpringBoot Shiro 權(quán)限注解不起作用的解決方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • MyBatis查詢數(shù)據(jù)庫(kù)語(yǔ)句總結(jié)

    MyBatis查詢數(shù)據(jù)庫(kù)語(yǔ)句總結(jié)

    MyBatis是一種持久化框架,可以與許多不同類型的關(guān)系型數(shù)據(jù)庫(kù)連接,下面這篇文章主要給大家介紹了關(guān)于MyBatis查詢數(shù)據(jù)庫(kù)語(yǔ)句的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • JAVA 添加、修改和刪除PDF書簽的示例代碼

    JAVA 添加、修改和刪除PDF書簽的示例代碼

    這篇文章主要介紹了JAVA 添加、修改和刪除PDF書簽的示例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06

最新評(píng)論

咸阳市| 永城市| 泽普县| 宁陕县| 邢台县| 哈巴河县| 南昌县| 洛隆县| 泌阳县| 论坛| 英吉沙县| 营口市| 巴南区| 冀州市| 肥城市| 阜新| 密云县| 濮阳市| 丹寨县| 枣庄市| 马龙县| 成安县| 库车县| 洞头县| 梧州市| 昆明市| 察哈| 邹城市| 华蓥市| 阳曲县| 佳木斯市| 普兰县| 鹤峰县| 韶山市| 崇礼县| 民丰县| 府谷县| 桃江县| 青阳县| 营口市| 文登市|