C
chrissitina
Gast
hi,
Vllt kann mir ja hier jemand helfen.
Ich versuche serialisierte Objekte in einer Datenbank zu speichern, hibernate will ich nicht benutzen.
Vllt kann mir ja hier jemand helfen.
Ich versuche serialisierte Objekte in einer Datenbank zu speichern, hibernate will ich nicht benutzen.
Code:
static final String WRITE_OBJECT_SQL = "INSERT INTO tabelle(name, object_value) VALUES (?, ?)";
static final String Delete_Object_SQl = "DELETE FROM tabelle WHERE object_value = ?";
public static long writeJavaObject(Connection conn, Object object) throws Exception {
String className = object.getClass().getName();
PreparedStatement pstmt = conn.prepareStatement(WRITE_OBJECT_SQL);
// set input parameters
pstmt.setString(1, className);
pstmt.setObject(2, object);
pstmt.executeUpdate();
// get the generated key for the id
ResultSet rs = pstmt.getGeneratedKeys();
int id = -1;
if (rs.next()) {
id = rs.getInt(1);
}
rs.close();
pstmt.close();
System.out.println("writeJavaObject: done serializing: " + className);
return id;
}
public static void delete(Object object ){
try {
Connection con = getConnection();
PreparedStatement stat = con.prepareStatement(Delete_Object_SQl);
stat.setObject(1, object);
int rs = stat.executeUpdate();
System.out.print("ES wurde was gemacht");
stat.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Schreiben klappt wunderbar, beim Löschen bekomme ich keine Fehlermeldung, aber es klappt nicht, dass er die Objekte vergleicht.
Oder sollte ich die ID die Datenbank id selbst noch im Objekt speichern?
und dann mittels ID löschen?
Danke schonmal
Gruß Tina