Java PreparedStatement.setClob(int parameterIndex, Clob x)
Syntax
PreparedStatement.setClob(int parameterIndex, Clob x) has the following syntax.
void setClob(int parameterIndex, Clob x) throws SQLException
Example
In the following code shows how to use PreparedStatement.setClob(int parameterIndex, Clob x) method.
//w w w . j a va2 s .c o m
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Main {
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 void main(String[] args)throws Exception {
String id = "0001";
String newID = "0002";
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = getConnection();
// begin transaction
conn.setAutoCommit(false);
String query1 = "select clob_column from clob_table where id = ?";
pstmt = conn.prepareStatement(query1);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
rs.next();
java.sql.Clob clob = (java.sql.Clob) rs.getObject(1);
String query = "insert into clob_table(id, clob_column) values(?, ?)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, newID);
pstmt.setClob(2, clob);
int rowCount = pstmt.executeUpdate();
System.out.println("rowCount=" + rowCount);
conn.commit();
} finally {
rs.close();
pstmt.close();
conn.close();
}
}
}