Mega Code Archive

 
Categories / Java / Database SQL JDBC
 

Demo Prepared Statement Set BinaryStream

import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class DemoPreparedStatementSetBinaryStream {   public static Connection getConnection() throws Exception {     String driver = "oracle.jdbc.driver.OracleDriver";     String url = "jdbc:oracle:thin:@localhost:1521:databaseName";     String username = "name";     String password = "password";     Class.forName(driver);     Connection conn = DriverManager.getConnection(url, username, password);     return conn;   }   public static void main(String[] args)throws Exception {     String smallFileName = "smallFileName.dat";     String largeFileName = "largeFileName.dat";     Connection conn = null;     PreparedStatement pstmt = null;     try {       conn = getConnection();       File smallFile = new File(smallFileName);       int smallFileLength = (int) smallFile.length();       InputStream smallStream = (InputStream) new FileInputStream(smallFile);       File largeFile = new File(largeFileName);       int largeFileLength = (int) largeFile.length();       InputStream largeStream = (InputStream) new FileInputStream(largeFile);       String query = "insert into binary_table(id, raw_column, long_raw_column) values(?, ?, ?)";       conn.setAutoCommit(false);       pstmt = conn.prepareStatement(query);       pstmt.setString(1, "0001");       pstmt.setBinaryStream(2, smallStream, smallFileLength);       pstmt.setBinaryStream(3, largeStream, largeFileLength);       // execute query, and return number of rows created       int rowCount = pstmt.executeUpdate();       System.out.println("rowCount=" + rowCount);       conn.commit();     } finally {       pstmt.close();       conn.close();     }   } }