Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Tuesday, December 11, 2007

How to Insert Clob to MySql Servlet

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class InsertClobToMySqlServlet extends HttpServlet {
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 void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException {

String clobData = null;
Connection conn = null;

String id = "001";
String name = "fileName";
String fileAsURL = "http://yourwebsite/fileName.dat";
ServletOutputStream out = response.getOutputStream();

response.setContentType("text/html");
out.println("Insert Clob To MySql Servlet");

try {
conn = getConnection();
clobData = getClobsContentAsString(fileAsURL);
insertCLOB(conn, id, name, clobData);
out.println("

OK: inserted a new record with id=" + id + "

");
} catch (Exception e) {
e.printStackTrace();
out.println("

Error: " + e.getMessage() + "

");
}
}

public void insertCLOB(Connection conn, String id, String name, String fileContent)
throws Exception {
PreparedStatement pstmt = null;
try {
pstmt = conn
.prepareStatement("insert into datafiles(id, filename, filebody) values (?, ?, ?)");
pstmt.setString(1, id);
pstmt.setString(2, name);
pstmt.setString(3, fileContent);
pstmt.executeUpdate();
} finally {
pstmt.close();
}
}

public static String getClobsContentAsString(String urlAsString) throws Exception {
InputStream content = null;
try {
URL url = new URL(urlAsString);
URLConnection urlConn = url.openConnection();
urlConn.connect();
content = urlConn.getInputStream();

int BUFFER_SIZE = 1024;
ByteArrayOutputStream output = new ByteArrayOutputStream();
int length;
byte[] buffer = new byte[BUFFER_SIZE];

while ((length = content.read(buffer)) != -1) {
output.write(buffer, 0, length);
}
return new String(output.toByteArray());
} finally {
content.close();
}
}

}

No comments: