データベース・ストレージ・ファイルのテスト方法
2296 ワード
mysql.JArの下部にはPreparedStatementのsetBlob(index,InputStream)##が書き換えられていません。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
*/
/**
* @author 17503
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
//insert(new File("H:\\Tools\\TestXML\\4.xml"));
readAndWrite();
}
public static void readAndWrite() {
try(OutputStream os = new FileOutputStream("H:\\4.xml")){
Connection con = conn();
PreparedStatement pst =
con.prepareStatement("select img.img from img where id=1");
ResultSet rs = pst.executeQuery();
rs.next();
byte[] data = rs.getBytes(1);
os.write(data);
}catch(Exception e) {
e.printStackTrace();
}
}
public static void insert(File file) {
try(InputStream is = new FileInputStream(file);){
Connection con = conn();
System.out.println(con);
System.out.println(file.isFile());
byte[] data = new byte[(int)file.length()];
is.read(data);
PreparedStatement pst =
con.prepareStatement("insert into img values('1',?)");
pst.setBytes(1, data);
//pst.setBlob(1, is);
}catch(Exception e) {
e.printStackTrace();
}
}
public static Connection conn() throws Exception {
try {
return DriverManager.getConnection("jdbc:mysql:///test", "root", "etoak");
} catch (SQLException e) {
e.printStackTrace();
throw new Exception("losing Connection..");
}
}
static{
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception ex){
ex.printStackTrace();
}
}
}