Demo PreparedStatement Set Character Stream : Stream Data « Database SQL JDBC « Java






Demo PreparedStatement Set Character Stream

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class DemoPreparedStatementSetCharacterStream {
  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 fileName = "charDataFile.txt";
    Reader fileReader = null;
    long fileLength = 0;
    Connection conn = null;
    PreparedStatement pstmt = null;

    try {
      File file = new File(fileName);
      fileLength = file.length();
      fileReader = (Reader) new BufferedReader(new FileReader(file));
      System.out.println("fileName=" + fileName);
      System.out.println("fileLength=" + fileLength);

      conn = getConnection();
      // begin transaction
      conn.setAutoCommit(false);
      // prepare SQL query for inserting a new row using SetCharacterStream()
      String query = "insert into char_stream_table (id, char_stream_column) values(?, ?)";
      // create PrepareStatement object
      pstmt = conn.prepareStatement(query);
      pstmt.setString(1, fileName);
      pstmt.setCharacterStream(2, fileReader, (int) fileLength);
      // execute query, and return number of rows created
      int rowCount = pstmt.executeUpdate();
      System.out.println("rowCount=" + rowCount);
      // end transaction
      conn.commit();
    } finally {
      pstmt.close();
      conn.close();
    }
  }
}

           
       








Related examples in the same category

1.Insert Text File To Oracle
2.Demo Prepared Statement Set BinaryStream
3.Demo Prepared Statement Set Ascii Stream