DemoPreparedStatementSetClob.java Source code

Java tutorial

Introduction

Here is the source code for DemoPreparedStatementSetClob.java

Source

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DemoPreparedStatementSetClob {
    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);

            // execute query, and return number of rows created
            int rowCount = pstmt.executeUpdate();
            System.out.println("rowCount=" + rowCount);
            // end transaction
            conn.commit();
        } finally {
            rs.close();
            pstmt.close();
            conn.close();
        }
    }
}