创建hibernate的工具类
public class HibernateUtils {
private static SessionFactory sessionFactory;
/*
*使用静态代码块,使其只执行一次。即是只创建一个sessionFactory对象
* */
static{
try{
Configuration cfg=new Configuration();
cfg.configure();
sessionFactory=cfg.buildSessionFactory();
}catch(ExceptionInInitializerError e){
throw new ExceptionInInitializerError("初始化失败,请检查配置文件。");
}
}
/*
* 功能:生成一个session对象
* 返回值:session
* */
public static Session openSession(){
return sessionFactory.openSession();
}
/*
* 功能:关闭sessionFactory
* */
public static void closeSessionFactory(){
sessionFactory.close();
}
}
hibernate将可预计的异常转换为运行时异常
使用hibernate操作数据库例子:
public class Test_h {
/*
* 保存一条记录到数据库
* */
public void save_u(){
Session session=HibernateUtils.openSession();
Transaction tr=session.beginTransaction();
Users user_wang=new Users();
user_wang.setU_name("王测试");
user_wang.setU_passwd("123456");
session.save(user_wang);
tr.commit();
session.close();
}
/*
* 从数据库中查找一条数据
* */
public void findOne(){
Session session=HibernateUtils.openSession();
Transaction tr=session.beginTransaction();
Users one=(Users)session.get(Users.class,1);
System.out.println(one.getU_name());
tr.commit();
session.close();
}
/*
* 更新 一条数据库中的记录
* */
public void update(){
Session session=HibernateUtils.openSession();
Transaction tr=session.beginTransaction();
Users one=(Users)session.get(Users.class,1);
one.setU_passwd("456789");
session.update(one);
tr.commit();
session.close();
}
/*
* 删除一条数据库的记录
* */
public void delete(){
Session session=HibernateUtils.openSession();
Transaction tr=session.beginTransaction();
Users one=(Users)session.get(Users.class,2);
session.delete(one);
tr.commit();
session.close();
}
/*
* 查询数据库表中的所有记录
* */
@Test
public void findALL(){
Session session=HibernateUtils.openSession();
Transaction tr=session.beginTransaction();
SQLQuery sqlquery=session.createSQLQuery("select * from users");
List<Object[]> list=sqlquery.list();
for(Object[] o:list){
for(Object ob:o){
System.out.println(ob);
}
}
tr.commit();
session.close();
}
}