sql >> Databasteknik >  >> RDS >> Mysql

Hur sparar man genererade PDF-filer till MySQL-databas med Java?

  1. Datatyp som du kan använda är BLOB .
  2. Konvertera PDF-filen och behåll byte[] array i databasen.

    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. Att infoga det i DB Om du använder några ORM-verktyg behöver du bara mappa kolumnen som blob och verktyget kommer att hantera det åt dig. Om du inte använder det kan du skapa ett förberett uttalande. Statement har en metod som heter setBlob() som kommer att vara användbar. Betrakta exemplet nedan och skapa en normal infogningsfråga med blob-kolumn.

    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. Mysql:konvertera datum från 'dd/mm/åååå' till 'ååååmmdd'

  2. Det går inte att använda tabell med namnet användare i postgresql hibernate

  3. Kan jag ångra ALTER-tabellen i - MySQL?

  4. MySQL:Fel när databasen släpptes (fel 13; fel 17; fel 39)