我想使用MySQL
同时创建我的文件(只是.txt文件)并将其插入hibernate
数据库,我只是插入它的部分:
这是创建文件的部分:
BufferedWriter out = null;
try
{
FileWriter fstream = new FileWriter("out"+new Date().getHours()+""+new Date().getMinutes()+""+new Date().getSeconds()+".txt", true);
out = new BufferedWriter(fstream);
out.write("======== Date: "+new Date() +" ========");
out.write("\n==================================================");
out.write("\n===============Construction of file ==============");
out.write("\n==================================================");
//out.write( ...
//.... other lines
}
finally {
out.write("\n=================================================");
}
}
catch (IOException e)
{
System.out.println("ERROR");
}
finally {
if(out != null) {
out.close();
}
}
//.....
我的班级:
public class A {
private Long AId;
private byte[] AFile;
//.. getters and setters
}
答案 0 :(得分:1)
您必须首先使用数据库中的列来映射变量 e.g。
@Column(name="column name in the database")
@Lob(type = LobType.BLOB)
private byte[] AFile;
然后您可以使用普通条件查询来插入数据。
阅读文件并输入AFile e.g。
IOUtils.toByteArray(InputStream input)
保存到数据库 e.g。
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
//Add new Employee object
A a = new A();
a.setAFile("your byte array")
//Save the employee in database
session.save(a);
//Commit the transaction
session.getTransaction().commit();
HibernateUtil.shutdown();