//Create.java文件,jdbc連接DB2
import java.sql.*;
public class Create
{
public static void main(String[] args)
{
Connection con;
Statement st;
try
{
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url = "jdbc:db2:sample;";
con = DriverManager.getConnection(url, "mike", "luanxp");
st = con.createStatement();
st.execute("CREATE TABLE TEST.mytable(id integer, picname varchar(50), pic BLOB) in test;");
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
// SavePic.java 將圖片保存至數據庫
import java.sql.*;
import java.io.*;
public class SavePic
{
public static void main(String[] args)
{
Connection con;
PreparedStatement st;
try
{
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url = "jdbc:db2:sample;";
con = DriverManager.getConnection(url, "mike", "luanxp");
String sql = "INSERT INTO test.mytable(id,picname, pic) values(1,'Imissyou',?)";
st = con.prepareStatement(sql);
File f = new File("D:/temp/testpic/Imissyou.jpg");
FileInputStream fis = new FileInputStream(f);
st.setBinaryStream(1, fis, (int)f.length());
st.executeUpdate();
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
//ReadPic.java 從數據庫中讀出圖片存成文件
import java.sql.*;
import java.io.*;
public class ReadPic
{
public static void main(String[] args)
{
Connection con;
Statement st;
try
{
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url = "jdbc:db2:sample;";
con = DriverManager.getConnection(url, "mike", "luanxp");
String sql = "SELECT pic FROM test.mytable WHERE picname='Imissyou'";
st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
rs.next();
// File f = new File("D:/temp/testpic/bak.jpg");
File f = new File("D:/temp/testpic/bak.txt");
FileOutputStream fos = new FileOutputStream(f);
InputStream is = rs.getBinaryStream("pic");
int c;
byte b[] = new byte[4*1024];
while ((c=is.read(b))!=-1)
{
fos.write(b, 0, c);
}
fos.flush();
is.close();
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}