Hibernate Blob和Clob

Blob:

	public static void blobOperate() throws IOException, InterruptedException, SQLException {
		Session sess = new Configuration().configure("main.xml")
				.buildSessionFactory().getCurrentSession();
		sess.beginTransaction();
		
		InputStream in=new FileInputStream(new File("F:\\a.jpg"));
		BufferedInputStream bf=new BufferedInputStream(in);
		Blobtype ct = new Blobtype(1,Hibernate.createBlob(bf));
		in.close();
		sess.save(ct);
		
		
		
		
		Blobtype by=(Blobtype)sess.get(Blobtype.class, 1);
		OutputStream out=new FileOutputStream(new File("F:\\b.jpg"));
		out.write(by.getContent().getBytes(1, (int)by.getContent().length()));
		out.close();
		sess.getTransaction().commit();
	}

Clob:

	public static void clobOperate() throws IOException, SQLException {
		Session sess = new Configuration().configure("main.xml")
				.buildSessionFactory().getCurrentSession();
		sess.beginTransaction();
		BufferedReader bf = new BufferedReader(new InputStreamReader(
				new FileInputStream("F:\\a.txt"), Charset.defaultCharset()));
		String text = null;
		StringBuffer sb = new StringBuffer();
		while ((text = bf.readLine()) != null) {
			sb.append(text);
		}
		Clobtype ct = new Clobtype(1, Hibernate.createClob(sb.toString()));
		bf.close();
		sess.update(ct);

		
		
		Clobtype c = (Clobtype) sess.get(Clobtype.class, 1);
		Clob cl = c.getContent();
		String str = "";
		if (cl != null) {
			try {
				str = cl.getSubString(new Long(1), (int) cl.length());
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		System.out.println(str);

		sess.getTransaction().commit();
	}


你可能感兴趣的:(c,Hibernate,session,String,File,null)