Mega Code Archive

 
Categories / Java / Database SQL JDBC
 

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();     }   } }