Heim  >  Artikel  >  Datenbank  >  So fügen Sie Bilder zu MySQL hinzu

So fügen Sie Bilder zu MySQL hinzu

coldplay.xixi
coldplay.xixiOriginal
2020-12-16 11:05:354637Durchsuche

So fügen Sie Bilder zu MySQL hinzu: Erstellen Sie zunächst eine Methode zum Lesen von Bildern mit FileInputStream. Stellen Sie dann eine Verbindung zur Datenbank her, schreiben Sie SQL-Anweisungen und verwenden Sie PreparedStatement, um SQL-Anweisungen auszuführen.

So fügen Sie Bilder zu MySQL hinzu

Die Betriebsumgebung dieses Tutorials: Windows 7-System, MySQL-Version 8.0.22. Diese Methode ist für alle Computermarken geeignet.

Verwandte kostenlose Lernempfehlungen: MySQL-Video-Tutorial

So fügen Sie Bilder zu MySQL hinzu:

1. Der Effekt

So fügen Sie Bilder zu MySQL hinzu

ist keine Zeichenfolge, Sie können ihn sehen Die Datentyp auf der linken Seite.

2. Blob-Daten abrufen

Wir erstellen eine Methode, um FileInputStream读取图片,还有ByteArrayOutputStream die gelesenen Daten in das Byte[]-Array zu schreiben, und

public static byte[] getImgStr(String path) throws IOException {
        FileInputStream fis = new FileInputStream(path);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        int len = 0;
        byte[] b = new byte[1024];
        while ((len = fis.read(b))!= -1){
            out.write(b,0,len);
        }
        //接收out
        byte[] array = out.toByteArray();
        fis.close();
        out.close();
        return array;
    }

3. Stellen Sie eine Verbindung zur Datenbank her und schreiben Sie die SQL-Anweisung

Erstellen Sie mithilfe von Blob ein Blob, konvertieren Sie dann die erhaltenen Bilddaten in einen Blob-Typ und führen Sie dann mit PreparedStatement die SQL-Anweisung aus, da es Platzhalter unterstützt und über eine setBlob-Methode verfügt, die den Wert unserer Blob-Adresse direkt in die Datenbank schreiben kann . Und dann sind Sie fertig.

    public static void main(String[] args) {
        /*
        加载驱动
         */
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            //获取连接
            String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
            String user= "root";
            String password ="123456";
            try {
                Connection connection = DriverManager.getConnection(url,user,password);
                /*
                插入图片
                 */
                byte[] arr = getImgStr("图片地址");
                Blob blob = connection.createBlob();
                blob.setBytes(1,arr);
                String sql = "insert into pictures (name,pic,date) values('张三',?,'2015-01-01')";
                PreparedStatement ps = connection.prepareStatement(sql);
                ps.setBlob(1,blob);
                ps.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } catch (ClassNotFoundException | IOException e) {
            e.printStackTrace();
        }
    }

Verwandte kostenlose Lernempfehlungen: php-Programmierung(Video)

Das obige ist der detaillierte Inhalt vonSo fügen Sie Bilder zu MySQL hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn