创建Dao层
Dao层就是对相对应的数据表进行增删改查操作。
根据不同的返回结果,而返回不同的结果。
1.创建Dao层(以User表为例)
1.1文件结构:
1.2 UserDao.java接口
package cn.itcast.dao;
import cn.itcast.domain.User;
public interface UserDao {
// 根据登陆名称查询user对象
User getByUserCode(String usercode);
//增加用户
void save(User u);
}
1.3 实现UserDao.java接口的UserDaoImpl.java实现类
package cn.itcast.dao.impl;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import cn.itcast.dao.UserDao;
import cn.itcast.domain.User;
//HibernateDaoSupport 为dao注入sessionFactory
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
@Override
// 根据登陆名称查询user对象
public User getByUserCode(String usercode) {
//HQL
return getHibernateTemplate().execute(new HibernateCallback<User>() {
@Override
public User doInHibernate(Session session) throws HibernateException {
String hql = "from User where user_code = ? ";
Query query = session.createQuery(hql);
query.setParameter(0, usercode);
User user = (User) query.uniqueResult();
return user;
}
});
}
@Override
public void save(User u) {
getHibernateTemplate().save(u);
}
}
1.4 applicationContext.xml配置Dao对象
<!-- dao -->
<bean name="userDao" class="cn.itcast.dao.impl.UserDaoImpl">
<!-- 注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>