sql >> Databáze >  >> RDS >> Mysql

Jak uložit vygenerované soubory PDF do databáze MySQL pomocí Javy?

  1. Datový typ, který můžete použít, je BLOB .
  2. Převeďte soubor PDF a ponechte bajt[] pole v databázi.

    private byte[] getByteArrayFromFile(final Document handledDocument) throws IOException {
        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
        final InputStream in = new FileInputStream(handledDocument);
        final byte[] buffer = new byte[500];
    
        int read = -1;
        while ((read = in.read(buffer)) > 0) {
            baos.write(buffer, 0, read);
        }
        in.close();
    
        return baos.toByteArray();
    }
    
  3. Vložení do DB Pokud používáte nějaké nástroje ORM, stačí namapovat sloupec jako blob a nástroj to za vás zpracuje. V případě, že jej nepoužíváte, můžete vytvořit připravený výpis. Příkaz má metodu nazvanou setBlob(), která bude užitečná. Zvažte níže uvedený příklad a vytvořte normální vkládací dotaz se sloupcem blob.

    String sql = "INSERT INTO testtable(stringcolumn, blobcolumn) VALUES(?,?)";
    
    PreparedStatement statement = conn.getConnection().prepareStatement(sql);
    statement.setLong(1, version);
    ByteArrayInputStream bais = new ByteArrayInputStream(getByteArrayFromFile(document));
    statement.setBlob(2, bais);          
    statement.execute();
    
    conn.commit();
    



  1. Jak implementovat vztahy one-to-one, one-to-many a many-to-many při navrhování tabulek?

  2. GROUP BY a COUNT v PostgreSQL

  3. Odesílání HTML kódu přes JSON

  4. Jak povolit pomalé protokoly dotazů v AWS RDS MySQL