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 deptName = "oldName"; 
    String newDeptName = "newName"; 
 
    ResultSet rs = null; 
    Connection conn = null; 
    PreparedStatement pstmt = null; 
    PreparedStatement pstmt2 = null; 
    try { 
      conn = getConnection(); 
      // prepare query for getting a REF object and PrepareStatement object 
      String refQuery = "select manager from dept_table where dept_name=?"; 
      pstmt = conn.prepareStatement(refQuery); 
      pstmt.setString(1, deptName); 
      rs = pstmt.executeQuery(); 
      java.sql.Ref ref = null; 
      if (rs.next()) { 
        ref = rs.getRef(1); 
      } 
      if (ref == null) { 
        System.out.println("error: could not get a reference for manager."); 
        System.exit(1); 
      } 
      String query = "INSERT INTO dept_table(dept_name, manager)values(?, ?)"; 
      pstmt2 = conn.prepareStatement(query); 
      pstmt2.setString(1, newDeptName); 
      pstmt2.setRef(2, ref); 
      // execute query, and return number of rows created 
      int rowCount = pstmt2.executeUpdate(); 
      System.out.println("rowCount=" + rowCount); 
    } finally { 
      pstmt.close(); 
      pstmt2.close(); 
      conn.close(); 
    } 
  } 
} 
 
    
  
  |