Use PreparedStatement.setBinaryStream() : Preparedstatement « Database « Java Tutorial





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", "");
  }
}










20.13.Preparedstatement
20.13.1.Working with the Preparedstatement
20.13.2.Create a PreparedStatement object with two parameter markers
20.13.3.Check for a SQL Warning Using PreparedStatement
20.13.4.Create a Table Using PreparedStatement
20.13.5.Set the Number of Rows to Prefetch Using PreparedStatement
20.13.6.Use PreparedStatement.setAsciiStream()
20.13.7.Use PreparedStatement.setBigDecimal()
20.13.8.Use PreparedStatement.setBinaryStream()
20.13.9.Use PreparedStatement.setBoolean()
20.13.10.Use PreparedStatement's setByte(), setShort(), setInt(), and setLong()
20.13.11.Use PreparedStatement.setBytes()
20.13.12.Use PreparedStatement.setCharacterStream()
20.13.13.Set NULL
20.13.14.DELETE data in a table
20.13.15.Modify data in a table
20.13.16.Prepared Statement With Batch Update
20.13.17.Select Records Using Prepared Statement
20.13.18.Inserting Records using the Prepared Statement
20.13.19.Count Records using the Prepared Statement
20.13.20.Deleting Records using the Prepared Statement
20.13.21.Using the Prepared Statement Twice
20.13.22.Set string,ingeger,double and float example by using the Prepared Statement
20.13.23.Set byte, short and long data types by using the Prepared Statement
20.13.24.Prepared Statement Set Big Decimal
20.13.25.Set Date by using the Prepared Statement
20.13.26.Set Time by using the Prepared Statement
20.13.27.Set Timestamp by using the Prepared Statement
20.13.28.Rows affected when updating data in database table
20.13.29.Use PreparedStatement.setURL()