您的位置:首页 > 编程语言 > Java开发

Spring2.5+Struts2+Hibernate3整合之四

2014-07-21 09:44 393 查看
 转载请注明:来自http://blog.csdn.net/M_ChangGong/
作者:张燕广

该篇主要编写DAO层代码。

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

[java]
view plaincopy

package com.zyg.ssh.dao;  
  
import java.util.List;  
import com.zyg.ssh.bean.Student;  
public interface StudentDao {  
  
    /** 
     * 保存学生信息 
     * @param student 
     */  
    public void addStudent(Student student);  
  
    /** 
     * 根据学号删除学生信息 
     * @param studentId 
     */  
    public void delStudentById(int id);  
  
    /** 
     * 更新学生信息 
     * @param student 
     */  
    public void updateStudentById(Student student);  
  
    /** 
     * 根据学号获取学生信息 
     * @param studentId 
     */  
    public Student queryStudentById(int id);  
      
    /** 
     * 根据姓名获取学生信息 
     * @param studentId 
     */  
    public List<Student> queryStudentByName(String name);  
      
    /** 
     * 获取全部学生信息 
     * @param studentId 
     */  
    @SuppressWarnings("unchecked")  
    public List<Student> queryAllStudents();  
  
}  

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

  

[b][java]
view plaincopy[/b]

package com.zyg.ssh.dao.hibernate;  
import java.util.List;  
import org.hibernate.SessionFactory;  
import org.springframework.transaction.annotation.Transactional;  
  
import com.zyg.ssh.bean.Student;  
import com.zyg.ssh.dao.StudentDao;  
  
@Transactional  
public class StudentDaoImpl implements StudentDao {  
    private SessionFactory sessionFactory;  
      
    public SessionFactory getSessionFactory() {  
        return sessionFactory;  
    }  
  
    public void setSessionFactory(SessionFactory sessionFactory) {  
        this.sessionFactory = sessionFactory;  
    }  
  
    public void addStudent(Student student) {  
        // TODO Auto-generated method stub  
        sessionFactory.getCurrentSession().save(student);  
    }  
  
    public void delStudentById(int id) {  
        sessionFactory.getCurrentSession()  
            .delete(sessionFactory.getCurrentSession().load(Student.class, id));  
    }  
    @SuppressWarnings("unchecked")  
    public List<Student> queryAllStudents() {  
        // TODO Auto-generated method stub  
        List<Student> stuList = null;  
        stuList=sessionFactory.getCurrentSession().createQuery("from Student").list();  
        return stuList;  
    }  
  
    public Student queryStudentById(int id) {  
        Student student=null;  
        student = (Student)sessionFactory.getCurrentSession().get(Student.class, id);  
        return student;  
    }  
  
    public List<Student> queryStudentByName(String name) {  
        // TODO Auto-generated method stub  
        List<Student> stuList = null;  
        stuList = sessionFactory.getCurrentSession()  
            .createQuery("from Student s where s.stuName like '%"+name+"%'").list();  
        return stuList;  
    }  
  
    public void updateStudentById(Student student) {  
        // TODO Auto-generated method stub  
        sessionFactory.getCurrentSession().update(student);  
    }  
}  

[b]    至此,该篇完成了DAO层代码的编写。下一篇开始编写Service层代码以及针对Service层功能的Junit测试代码。[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: