sql >> Database >  >> RDS >> Mysql

Hoe gegenereerde PDF-bestanden opslaan in de MySQL-database met Java?

  1. Het gegevenstype dat u kunt gebruiken is BLOB .
  2. Converteer het PDF-bestand en bewaar de byte[] array in database.

    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. Om het in DB in te voegen Als u ORM-tools gebruikt, hoeft u alleen de kolom als blob toe te wijzen en de tool zal het voor u afhandelen. Als u het niet gebruikt, kunt u een voorbereide verklaring maken. Statement heeft een methode genaamd setBlob() die handig zal zijn. Bekijk het onderstaande voorbeeld en maak een normale invoegquery met een blobkolom.

    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. Hoe interpreteer je het uitlegplan van een query?

  2. PostgreSQL:kenmerk verwijderen uit JSON-kolom

  3. pip installeer mysqlclient op amazon linux

  4. Hoe maak ik back-ups in MySQL?