JavaBeat Certifications Certifications Kits Articles Interview Questions OCAJP 7 OCPJP 5 OCPJP 6 OCEJWCD 6 SCBCD 5.0 SCEA SCJA

How to serialize/de-serialize a Java object to the MySQL database

Topic :
Feedback Request New QnA Print Email

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SerializeJavaObjects_MySQL {
static final String WRITE_OBJECT_SQL = "INSERT INTO java_objects(name, object_value) VALUES (?, ?)";

static final String READ_OBJECT_SQL = "SELECT object_value FROM java_objects WHERE id = ?";

public static Connection getConnection() throws Exception {
String driver = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/databaseName";
String username = "root";
String password = "root";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}

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 Object readJavaObject(Connection conn, long id) throws Exception {
PreparedStatement pstmt = conn.prepareStatement(READ_OBJECT_SQL);
pstmt.setLong(1, id);
ResultSet rs = pstmt.executeQuery();
rs.next();
Object object = rs.getObject(1);
String className = object.getClass().getName();

rs.close();
pstmt.close();
System.out.println("readJavaObject: done de-serializing: " + className);
return object;
}
public static void main(String args[])throws Exception {
Connection conn = null;
try {
conn = getConnection();
System.out.println("conn=" + conn);
conn.setAutoCommit(false);
List<Object> list = new ArrayList<Object>();
list.add("This is a short string.");
list.add(new Integer(1234));
list.add(new Date());

long objectID = writeJavaObject(conn, list);
conn.commit();
System.out.println("Serialized objectID => " + objectID);
List listFromDatabase = (List) readJavaObject(conn, objectID);
System.out.println("[After De-Serialization] list=" + listFromDatabase);
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
}
}

Topic :
Feedback Request New QnA Print Email

All api java java 6.0 java 7.0 jdbc jsp servlet ejb jndi jms ejb 3.0 j2ee jee 5.0 jee 6.0 jsf struts spring Hibernate ajax JBoss Seam netbeans eclipse ant xml maven dojo junit javafx j2me log4j ESB JBoss Apache Quartz scjp mysql oracle gwt openjpa jmx yui google-guice android JBoss scwcd 5.0 scjp 1.5 scjp 1.6 scja scbcd 5.0

javabeat | advertise | about us | contact | useful resources
Copyright (2004 - 2013), JavaBeat