Hibernate 的查询语言 HQL 与高级查询
数据库操作实现类的开发
import java.util.List;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.sf.dao.IDepartmentDao;
import org.sf.entity.Department;
import org.sf.util.HibernateSessionFactory;
public class DepartmentDaoImpl implements IDepartmentDao {
/**
* 取得所有的系院信息集合
* @return
*/
@SuppressWarnings("unchecked")
public List<Department> getAllDepartmentList(){
List<Department> list = null;
Session session = HibernateSessionFactory.getSession();
Query q=session.createQuery("from Department");
list = q.list();
session.close();
return list;
}
/**
* 通过id 取得某个系院信息
* @param id
* @return
*/
public Department getDepartmentById(int id){
Department department = null;
Session session = HibernateSessionFactory.getSession();
Query q =session.createQuery("from Department where id=:id").setParameter("id",
id);
department=(Department)q.uniqueResult();
session.close();
return department;
}
/**
* 添加系院信息
* @param department
* @return
*/
public Department addDepartment(Department department){
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
session.save(department);
tran.commit();
session.close();
return department;
}
/**
* 修改选定的系院信息
* @param department
*/
public void editDepartment(Department department){
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
Department depEdit = (Department) session.load(Department.class,
department.getId());
depEdit.setBm(department.getBm());
depEdit.setMc(department.getMc());
depEdit.setTell(department.getTell());
depEdit.setLeader(department.getLeader());
session.update(depEdit);
tran.commit();
session.close();
}
/**
* 通过id 删除系院信息
* @param id
* @return
*/
public int delDepartmentById(int id){
int i = 0;
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
SQLQuery q = (SQLQuery) session.createSQLQuery("delete from department where
id=:id").setParameter("id", id);
q.executeUpdate();
tran.commit();
session.close();
return i;
}
}
制作 IStudentDao 接口及 及 StudentDaoImpl
import java.util.List;
import org.sf.entity.Student;
/**
* 学生数据库操作接口
* @author 宋锋
* @date 2013-04-25
*/
public interface IStudentDao {
/**
* 取得所有的学生信息
* @return
*/
public List<Student> getAllStudentList();
/**
* 通过 id 取得某个学生信息
* @param id
* @return
*/
public Student getStuentById(int id);
/**
* 通过学号和密码取得学生信息,用于登录
* @param stunumber
* @param stupwd
* @return
*/
public Student getStuden