Erstellt einen Objekt-Ausgabestream von einem Objekt

8

Ich möchte auf ObjectOutputStream erstellen, aber ich möchte das Objekt in einer Datei nicht beibehalten, also wie geht das? Alle Tutorials (die ich gefunden habe) sagen nur über den Dateiweg:

%Vor%

Ich möchte das Objekt in einer Datenbank speichern, daher muss ich einen Stream in der Methode setBinaryStream() von der Klasse PreparedStatement angeben.

Danke für die Antwort ...

    
coubeatczech 20.05.2010, 11:52
quelle

3 Antworten

7

Speichern Sie es stattdessen in einem Byte-Array. Sie können dafür ByteArrayOutputStream verwenden. Auf diese Weise können Sie verwenden PreparedStatement#setBytes() .

%Vor%

Das heißt, das ist ziemlich gut riechen. Sind Sie sicher, dass Sie Java-Objekte in eine Datenbank serialisieren müssen? Auf diese Weise sind sie nicht indexierbar und nicht suchbar. Wenn Sie zum Beispiel jedes Person serialisiert in der Datenbank speichern, können Sie SELECT * FROM person WHERE name = 'John' nicht mehr tun. Üblicherweise wird eine 1: 1-Abbildung der Entität und der DB-Tabelle durchgeführt. Der Date beispielsweise kann perfekt in einer DATETIME / TIMESTAMP Spalte gespeichert werden.

    
BalusC 20.05.2010, 11:55
quelle
5
%Vor%

So, jetzt haben Sie ein Byte-Array und tun, was Sie damit wollen.

    
Petar Minchev 20.05.2010 11:54
quelle
0

Sie müssen speziell einen Ausgabestrom verwenden, um in eine Datenbank zu schreiben? Ich würde ernsthaft in Betracht ziehen, die Persistenz-API zu betrachten, bevor ich versuche, eine Ausgabestream-Implementierung zu schreiben. Da Verbindungsdetails usw. schwierig zu verwalten sind.

Werfen Sie einen Blick auf Link-Text und denken Sie daran, dass es auch in J2SE verwendet werden kann.

    
Nico 20.05.2010 11:55
quelle
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '362482',
    'url' => 'create-object-output-stream-from-an-object',
];

$_SESSION = [
    '__flash' => [],
];