HiberUtil.java
package www.csdn.net.blank.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class HiberUtil {
static Configuration cfg;
static ServiceRegistry serviceRegistry;
static SessionFactory sessionFactory;
static{
//创建Configuration对象 调用.configure()方法 ,默认class/hibernate.cfg.xml
cfg = new Configuration().configure();
//创建服务对象
serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
//创建sessionFactory工厂
sessionFactory = cfg.buildSessionFactory(serviceRegistry);
}
/**
* 获取session对象
* @return
*/
public static Session openSession(){
return sessionFactory.getCurrentSession();
}
}
hibernate.cfg.xml
com. mysql.jdbc.Driver jdbc:mysql://localhost:3306/hiber3 useUincode=true&characterEncoding=UTF-8 root root org.hibernate.dialect.MySQLDialect thread true false update
PersonTest.java
package www.csdn.net.blank.junit;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.Reader;
import java.sql.Blob;
import java.sql.Clob;
import org.hibernate.Hibernate;
import org.junit.Test;
import www.csdn.net.blank.bean.Person;
import www.csdn.net.blank.dao.BaseDao;
import www.csdn.net.blank.dao.impl.BaseDaoImpl;
import www.csdn.net.blank.util.HiberUtil;
public class PersonTest {
private BaseDao baseDao = new BaseDaoImpl();
@Test
public void save() throws Exception {
Person person = new Person();
File file = new File("F:\\资料\\Pictures\\人物 (2)\\200.jpg");
FileInputStream fis = new FileInputStream(file);
File file1 = new File(
"D:\\闫梅\\csdn\\hibernate课程\\代码\\hiber7=1\\src\\自定义标签.txt");
Reader reader = new FileReader(file1);
//第一种方法: 针对 session 是通过sessionFactory.getCurrentSession(); 处理操作
person.setImage(Hibernate.getLobCreator(HiberUtil.openSession())
.createBlob(fis, file.length()));
person.setIntro(Hibernate.getLobCreator(HiberUtil.openSession())
.createClob(reader, file1.length()));
//第二种方法:必须开启事务
/*Session session = HiberUtil.openSession();
//Transaction ts = ses