Java Tutorial/Database/Binary

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

Get Binary Data from a Database Table?

   <source lang="java">

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

}</source>



//some string data ...


Insert Binary Data into a Database Table Using a Statement?

   <source lang="java">

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

}</source>





Insert Picture

   <source lang="java">

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