一、常用的hibernate操作dao
- 第一种,通过继承HibernateDaoSupport来操作√
- 第二种,通过HibernateTemplate来操作√
- 第三种,通过使用Hibernate的session来操作√(最灵活的)
- 第四种,直接写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();
}
}
}