Mega Code Archive

 
Categories / Java Tutorial / Database
 

Use PreparedStatement setBinaryStream()

import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Main {   public static void main(String[] args) throws Exception {     Connection conn = getConnection();     Statement stmt = conn.createStatement();     stmt.executeUpdate("create table survey (id int, name BINARY );");     String sql = "INSERT INTO survey (name) VALUES(?)";     PreparedStatement pstmt = conn.prepareStatement(sql);     // prepare small binary stream     File smallFile = new File("yourFileName.txt");     int smallFileLength = (int) smallFile.length();     InputStream smallStream = (InputStream) new FileInputStream(smallFile);     pstmt.setBinaryStream(2, smallStream, smallFileLength);          // insert the data     pstmt.executeUpdate();          ResultSet rs = stmt.executeQuery("SELECT * FROM survey");     while (rs.next()) {         System.out.print(rs.getString(1));     }          rs.close();     stmt.close();     conn.close();   }   private static Connection getConnection() throws Exception {     Class.forName("org.hsqldb.jdbcDriver");     String url = "jdbc:hsqldb:mem:data/tutorial";     return DriverManager.getConnection(url, "sa", "");   } }