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]
作者:张燕广
该篇主要编写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]
相关文章推荐
- Spring2.5+Struts2+Hibernate3整合之五
- Spring2.5+Struts2+ Hibernate3整合之二
- Spring2.5+Struts2+Hibernate3整合之六
- Spring2.5+Struts2+Hibernate3整合之四
- Spring2.5+Struts2+Hibernate3整合之三
- Spring2.5+Struts2+Hibernate3整合之一
- Spring2.5+Struts2+Hibernate3整合之六
- Spring2.5+Struts2+ Hibernate3整合之二
- Spring2.5+Struts2+Hibernate3整合之三
- Spring2.5+Struts2+Hibernate3整合之一
- Spring2.5+Struts2+Hibernate3整合之五
- Struts2+Spring3+Hibernate3整合
- spring2.5+struts2.1.8+hibernate3整合配置
- Spring2.5+Struts2+Ibatis整合之一
- struts2+hibernate3+spring2.5整合配置
- SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
- 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
- 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
- Struts2+Spring2.5+Hibernate3整合
- Spring2.5+Struts2+Ibatis整合之一