Spring2.5+Struts2+Hibernate3整合之四

来源:互联网 发布:仙剑奇侠传3修改器mac 编辑:程序博客网 时间:2024/04/29 08:46

 转载请注明:来自http://blog.csdn.net/M_ChangGong/作者:张燕广

该篇主要编写DAO层代码。

src下创建包com.zyg.ssh.dao,在该包下创建接口StudentDao,其代码如下:

[java] view plaincopy
  1. package com.zyg.ssh.dao;  
  2.   
  3. import java.util.List;  
  4. import com.zyg.ssh.bean.Student;  
  5. public interface StudentDao {  
  6.   
  7.     /** 
  8.      * 保存学生信息 
  9.      * @param student 
  10.      */  
  11.     public void addStudent(Student student);  
  12.   
  13.     /** 
  14.      * 根据学号删除学生信息 
  15.      * @param studentId 
  16.      */  
  17.     public void delStudentById(int id);  
  18.   
  19.     /** 
  20.      * 更新学生信息 
  21.      * @param student 
  22.      */  
  23.     public void updateStudentById(Student student);  
  24.   
  25.     /** 
  26.      * 根据学号获取学生信息 
  27.      * @param studentId 
  28.      */  
  29.     public Student queryStudentById(int id);  
  30.       
  31.     /** 
  32.      * 根据姓名获取学生信息 
  33.      * @param studentId 
  34.      */  
  35.     public List<Student> queryStudentByName(String name);  
  36.       
  37.     /** 
  38.      * 获取全部学生信息 
  39.      * @param studentId 
  40.      */  
  41.     @SuppressWarnings("unchecked")  
  42.     public List<Student> queryAllStudents();  
  43.   
  44. }  

      src下创建包com.zyg.ssh.dao.hibernate,在该包下创建实现StudentDao接口的类StudentDaoImpl,其代码如下:

  

[java] view plaincopy
  1. package com.zyg.ssh.dao.hibernate;  
  2. import java.util.List;  
  3. import org.hibernate.SessionFactory;  
  4. import org.springframework.transaction.annotation.Transactional;  
  5.   
  6. import com.zyg.ssh.bean.Student;  
  7. import com.zyg.ssh.dao.StudentDao;  
  8.   
  9. @Transactional  
  10. public class StudentDaoImpl implements StudentDao {  
  11.     private SessionFactory sessionFactory;  
  12.       
  13.     public SessionFactory getSessionFactory() {  
  14.         return sessionFactory;  
  15.     }  
  16.   
  17.     public void setSessionFactory(SessionFactory sessionFactory) {  
  18.         this.sessionFactory = sessionFactory;  
  19.     }  
  20.   
  21.     public void addStudent(Student student) {  
  22.         // TODO Auto-generated method stub  
  23.         sessionFactory.getCurrentSession().save(student);  
  24.     }  
  25.   
  26.     public void delStudentById(int id) {  
  27.         sessionFactory.getCurrentSession()  
  28.             .delete(sessionFactory.getCurrentSession().load(Student.class, id));  
  29.     }  
  30.     @SuppressWarnings("unchecked")  
  31.     public List<Student> queryAllStudents() {  
  32.         // TODO Auto-generated method stub  
  33.         List<Student> stuList = null;  
  34.         stuList=sessionFactory.getCurrentSession().createQuery("from Student").list();  
  35.         return stuList;  
  36.     }  
  37.   
  38.     public Student queryStudentById(int id) {  
  39.         Student student=null;  
  40.         student = (Student)sessionFactory.getCurrentSession().get(Student.class, id);  
  41.         return student;  
  42.     }  
  43.   
  44.     public List<Student> queryStudentByName(String name) {  
  45.         // TODO Auto-generated method stub  
  46.         List<Student> stuList = null;  
  47.         stuList = sessionFactory.getCurrentSession()  
  48.             .createQuery("from Student s where s.stuName like '%"+name+"%'").list();  
  49.         return stuList;  
  50.     }  
  51.   
  52.     public void updateStudentById(Student student) {  
  53.         // TODO Auto-generated method stub  
  54.         sessionFactory.getCurrentSession().update(student);  
  55.     }  
  56. }  
    至此,该篇完成了DAO层代码的编写。下一篇开始编写Service层代码以及针对Service层功能的Junit测试代码。
0 0
原创粉丝点击