使用java在mysql数据库中创建和插入文件

时间:2015-04-10 09:30:23

标签: java mysql hibernate

我想使用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 
}

1 个答案:

答案 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();