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;
}
}