Hibernate构建Dao的四种方式

会有一股神秘感。 提交于 2020-03-30 06:36:44
一、常用的hibernate操作dao 
  1. 第一种,通过继承HibernateDaoSupport来操作√
  2. 第二种,通过HibernateTemplate来操作√
  3. 第三种,通过使用Hibernate的session来操作√(最灵活的)
  4. 第四种,直接写JDBC来实现数据库操作(没用过)(太原始了,不推荐用)
 
二、四种常用方法介绍及配置:
1.继承HibernateDaoSupport来操作:
spring为hibernate提供的工具类,其底层是通过HibernateTemplate来实现来数据库的操作,但我觉得使用它的时候需要向每个Dao层sessionFactory感觉有点不方便

 

使用直接继承,方法里面通过this.getHibernateTemplate()直接使用HibernateTemplate操作数据库,有点繁琐。

2. 通过HibernateTemplate来操作(推荐)
忽略那些报红。。。

 

3. 通过使用Hibernate的session来操作

@Repositorypublic 
class UserDaoImpl implements UserDao {
    @Autowired    
    private SessionFactory sessionFactory;
    @Override    
    public void saveUser() {
        Session session = null;
        Transaction tx = null;        try {
            session = sessionFactory.getCurrentSession();            //开启事务
            tx = session.beginTransaction();            //添加
            User user = new User();
            user.setAddress("American");
            user.setUsername("老王");
            session.save(user);
            tx.commit();
        }catch(Exception e) {
            e.printStackTrace();            //回滚事务            tx.rollback();
        }finally {
            session.close();
        }
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!