SSH-基礎篇-DaoImpl(Dept,Emp)

Dept

===================================================================================================

package cn.jbit.ssh.dao.impl;



import java.util.List;


import org.springframework.orm.hibernate3.support.HibernateDaoSupport;


import cn.jbit.ssh.dao.DeptDao;
import cn.jbit.ssh.entity.Dept;


public class DeptDaoImpl extends HibernateDaoSupport implements DeptDao {

/*增加*/
public void addDept(Dept dept) {
super.getHibernateTemplate().save(dept);
}


/*刪除*/
public void delDept(Dept dept) {
super.getHibernateTemplate().delete(dept);
}

/*修改*/
public void updateDept(Dept dept) {
super.getHibernateTemplate().update(dept);
}


/*查多*/
public List<Dept> findAllDept() {
String hql = "from Dept";
List deptList = super.getHibernateTemplate().find(hql);
return deptList;
}


/*查單*/
public Dept findOneDept(Integer deptId) {
Dept dept = (Dept)super.getHibernateTemplate().get("cn.jbit.ssh.entity.Dept", deptId);
return dept;
}

/*條件查詢*/
public List<Dept> findDeptByCondition(Dept dept){

/*如果只有一個問號的時候*/
/*String hql = "from Dept where deptName = ?";
return getHibernateTemplate().find(hql, dept.getDeptName());*/

/*如果有多個問號的時候*/
String hql = "from Dept where deptId = ? and deptName = ?";
Object[] param = {dept.getDeptId(), dept.getDeptName()};
return getHibernateTemplate().find(hql, param);
}


}

===========================================================================================


Emp

==========================================================================================

package cn.jbit.ssh.dao.impl;


import java.sql.SQLException;
import java.util.List;


import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;


import cn.jbit.ssh.dao.EmpDao;
import cn.jbit.ssh.entity.Emp;


public class EmpDaoImpl extends HibernateDaoSupport implements EmpDao {

/*用hibernate回調方法分頁*/
/*切記!回調函數參數必須是常量!*/
/*new後面的屬於匿名內部類*/
 
public List<Emp> findByPage(final int page, final int size) {

HibernateCallback h = new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("from Emp");
query.setFirstResult((page-1)*size);
query.setMaxResults(size);
return query.list();
}
};

List<Emp> list = getHibernateTemplate().executeFind(h); 
return list;

}


}

發佈了38 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章