Java Tutorial/Database/Binary

Материал из Java эксперт
Перейти к: навигация, поиск

Get Binary Data from a Database Table?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
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);
    // create some binary data
    String myData = "some string data ...";
    byte[] binaryData = myData.getBytes();
    // set value for the prepared statement
    pstmt.setBytes(1, binaryData);
    // insert the data
    pstmt.executeUpdate();
    
    ResultSet rs = stmt.executeQuery("SELECT * FROM survey");
    while (rs.next()) {
        System.out.print(new String(rs.getBytes(2)));
    }
    
    
    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", "");
  }
}



//some string data ...


Insert Binary Data into a Database Table Using a Statement?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
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);
    // create some binary data
    String myData = "some string data ...";
    byte[] binaryData = myData.getBytes();
    // set value for the prepared statement
    pstmt.setBytes(1, binaryData);
    // insert the data
    pstmt.executeUpdate();
    
    ResultSet rs = stmt.executeQuery("SELECT * FROM survey");
    while (rs.next()) {
        System.out.print(rs.getBytes(2).length + "   ");
    }
    
    
    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", "");
  }
}





Insert Picture

FileInputStream fis = null;
      PreparedStatement ps = null;
      try {
         File file = new File(photo);
         fis = new FileInputStream(file);
         ps = conn.prepareStatement("insert into pictable(id, name, pic)values(?,?,?)");
         ps.setString(1, id);
         ps.setString(2, name);
         ps.setBinaryStream(3, fis,(int)file.length());
         ps.executeUpdate();
      }