Java Tutorial/Database/Binary
Версия от 17:44, 31 мая 2010; (обсуждение)
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();
}