把数据库的类型设置成blob Product product = new Product(); product.setId("001"); product.setName("hibernate 3.5"); BufferedInputStream bis = new BufferedInputStream( new FileInputStream("d:/A.jpg")); BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("d:/B.txt"), "gbk")); product.setDescription(Hibernate.createClob(br, 5000)); product.setPic(Hibernate.createBlob(bis)); Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); session.save(product); tx.commit(); session.close();
再送你个jdbc的。 写大对象 public static void main(String[] args) { // TODO Auto-generated method stub Connection conn = null; Statement stat = null; ResultSet rs = null; OutputStream os = null; FileInputStream fis = null; int bs = 0; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oraDB","bigfou","---"); conn.setAutoCommit(false); stat = conn.createStatement(); stat.executeUpdate("insert into t_video(id,video) values(1,empty_blob())");
rs = stat.executeQuery("select video from t_video where id = 1"); rs.next(); oracle.sql.BLOB blo = (oracle.sql.BLOB)rs.getBlob(1); os = blo.getBinaryOutputStream(); bs = blo.getBufferSize(); fis = new FileInputStream("D:\\Temp\\MPlayer-CVS-20040808-K&K\\mplayer.exe"); byte[] buf = new byte[bs]; int length = 0;
try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oraDB","bigfou","-"); conn.setAutoCommit(false); stat = conn.createStatement();
rs = stat.executeQuery("select video from t_video where id = 1"); rs.next(); oracle.sql.BLOB blo = (oracle.sql.BLOB)rs.getBlob(1); bs = blo.getBufferSize(); buf = new byte[bs]; int length = 0; is = blo.getBinaryStream(); fos = new FileOutputStream("d:\\test.exe");
http://edu.codepub.com/2010/0728/24618.php
product.setId("001");
product.setName("hibernate 3.5"); BufferedInputStream bis = new BufferedInputStream(
new FileInputStream("d:/A.jpg"));
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("d:/B.txt"), "gbk")); product.setDescription(Hibernate.createClob(br, 5000));
product.setPic(Hibernate.createBlob(bis)); Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
session.save(product);
tx.commit();
session.close();
写大对象
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
OutputStream os = null;
FileInputStream fis = null;
int bs = 0;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oraDB","bigfou","---");
conn.setAutoCommit(false);
stat = conn.createStatement();
stat.executeUpdate("insert into t_video(id,video) values(1,empty_blob())");
rs = stat.executeQuery("select video from t_video where id = 1");
rs.next();
oracle.sql.BLOB blo = (oracle.sql.BLOB)rs.getBlob(1);
os = blo.getBinaryOutputStream();
bs = blo.getBufferSize();
fis = new FileInputStream("D:\\Temp\\MPlayer-CVS-20040808-K&K\\mplayer.exe");
byte[] buf = new byte[bs];
int length = 0;
while(true)
{
length = fis.read(buf);
if(length == -1) break;
os.write(buf,0,length);
}
os.close();
os = null;
fis.close();
fis = null;
conn.commit();
conn.setAutoCommit(true);
conn.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}
读大对象InputStream is = null;
FileOutputStream fos = null;
byte[] buf = null;
int bs = 0;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oraDB","bigfou","-");
conn.setAutoCommit(false);
stat = conn.createStatement();
rs = stat.executeQuery("select video from t_video where id = 1");
rs.next();
oracle.sql.BLOB blo = (oracle.sql.BLOB)rs.getBlob(1);
bs = blo.getBufferSize();
buf = new byte[bs];
int length = 0;
is = blo.getBinaryStream();
fos = new FileOutputStream("d:\\test.exe");
while(true) {
length = is.read(buf);
if(length == -1) break;
fos.write(buf,0,length);
}
fos.close();
fos = null;
is.close();
is = null;
conn.commit();
conn.setAutoCommit(true);
conn.close();
...