ssh2框架的搭建(二)

在(一)篇框架搭好之后,继续在dao层,service层,action层编写代码

dao层-接口Dao.java

package dukun.dao;

import java.io.Serializable;
import java.util.List;

public interface Dao {

	void save(Object object);
	void saveOrUpdate(Object object);
	void modify(Object object);
	Object find(Class<?> cla, Serializable id);
	List<Object> list(String hql);
	void delete(Object object);
	void update(Object object);
}
dao的实现类DaoBean.java
package dukun.dao.impl;

import java.io.Serializable;
import java.util.List;

import javax.annotation.Resource;

import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;

import dukun.dao.Dao;
@Repository("daoBean")
public class DaoBean implements Dao {
	
	@Resource(name="sessionFactory")
	private SessionFactory sessionFactory;
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

	public Object find(Class<?> cla, Serializable id) {
		return sessionFactory.getCurrentSession().get(cla, id); 
	}

	public List<Object> list(String hql) {
		List<Object> list = null;
		list = sessionFactory.getCurrentSession().createQuery(hql).list();
		return list;
	}

	public void save(Object object) {
//		sessionFactory.getCurrentSession().save(object);
		sessionFactory.getCurrentSession().persist(object);
	}

	public void modify(Object object) {
//		sessionFactory.getCurrentSession().update(object);
		sessionFactory.getCurrentSession().merge(object);
	}

	public void delete(Object object) {
		sessionFactory.getCurrentSession().delete(object);
	}

	public void saveOrUpdate(Object object) {
		sessionFactory.getCurrentSession().saveOrUpdate(object);	
	}

	public void update(Object object) {
		sessionFactory.getCurrentSession().update(object);
	}

}
service层接口,ClassesService.java
package dukun.service;

import java.util.List;

import dukun.model.Classes;

public interface ClassesService {

	void save(Classes classes);
	
	Classes find(Class<Classes> cla,String id);
	
	List<Object> list(String hql);
      }
<pre name="code" class="java">ClassesService的实现类ClassesServiceBean.java
 
 
package dukun.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import dukun.dao.Dao;
import dukun.model.Classes;
import dukun.service.ClassesService;

@Service("classesServiceBean")
public class ClassesServiceBean implements ClassesService{
    @Resource(name="daoBean")
	private Dao dao;
	
	public void setDao(Dao dao) {
		this.dao = dao;
	}

	public void save(Classes classes) {
		dao.save(classes);
	}

	public Classes find(Class<Classes> cla, String id) {
		return (Classes) dao.find(cla, id);
	}

	public List<Object> list(String hql) {
		return dao.list(hql);
	}

}

接口StudentService.java

 
package dukun.service;

import java.io.Serializable;
import java.util.List;

import dukun.model.Student;

public interface StudentService {

	void save(Student student);
	List<Object> list(String hql);
	void delete(Student student);
	void saveOrUpdate(Student student);
	
	String selectClassName(String id);
	
	Object studentGet(Class<?> cla, Serializable id);
	
	String update(Student student);
}
StudentService的实现类StudentServiceBean.java
package dukun.service.impl;

import java.io.Serializable;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import dukun.dao.Dao;
import dukun.model.Student;
import dukun.service.StudentService;
@Service("studentServiceBean")
public class StudentServiceBean implements StudentService{
    @Resource(name="daoBean")
	private Dao dao;
	public void save(Student student) {
		dao.save(student);
	}

	public List<Object> list(String hql) {
		List<Object> list = dao.list(hql);
		return list;
	}

	public void delete(Student student) {
		dao.delete(student);
	}

	public void saveOrUpdate(Student student) {
		dao.saveOrUpdate(student);
		
	}
    //根据班级id查询班级名
	public String selectClassName(String id) {
		String hql = "select className from Classes where id = '"+id+"'";
		List<Object> list = dao.list(hql);
		String className = (String) list.get(0);
		return className;
	}
	//回显学生信息
	public Object studentGet(Class<?> cla, Serializable id){
		Object obj = dao.find(cla, id);
		return obj;
	}

	public String update(Student student) {
		dao.update(student);
		return "success";
	}

}

action层代码

StudentAction.java

 
package dukun.action;

import java.io.UnsupportedEncodingException;
import java.util.List;

import javax.annotation.Resource;

import dukun.model.Classes;
import dukun.model.Student;
import dukun.service.StudentService;

public class StudentAction {
    @Resource(name="studentServiceBean")
	private StudentService studentService;
    private List<Object> students;
    private Student student;
    private Classes classes;
    private List<Object> classesList;

	public List<Object> getClassesList() {
		return classesList;
	}

	public void setClassesList(List<Object> classesList) {
		this.classesList = classesList;
	}

	public Classes getClasses() {
		return classes;
	}

	public void setClasses(Classes classes) {
		this.classes = classes;
	}

	public Student getStudent() {
		return student;
	}

	public void setStudent(Student student) {
		this.student = student;
	}

	public List<Object> getStudents() {
		return students;
	}

	public void setStudentService(StudentService studentService) {
		this.studentService = studentService;
	}
    //查询出所有的学生信息
    public String listAll(){
    	String hql = "from Student";
    	students = studentService.list(hql);
    	return "success";
    }
    //删除某一个学生信息
    public String delete(){
    	studentService.delete(student);
    	return "success";
    }
    //添加某一个学生信息
    public String add() throws UnsupportedEncodingException{
      //解决前端jsp传值的中文乱码问题(方法二 通过spring自带的过滤器,在web.xml中配置)	
//      String name = new String(student.getStuName().getBytes("iso-8859-1"),"utf-8");
      
      student.setStuName(student.getStuName());
      //根据前端传来的班级id查询出班级名
      classes.setClassName(studentService.selectClassName(classes.getId()));
      
      student.setClasses(classes);
      studentService.saveOrUpdate(student);
      return "success";
    }
    //回显学生信息
    public String studentGet(){
    	student = (Student) studentService.studentGet(Student.class, student.getId());
    	String hql = "from Classes";
		classesList = studentService.list(hql);
    	return "success";
    }
    //修改某一个学生信息
    public String update() throws UnsupportedEncodingException{
    	
//    	String name = new String(student.getStuName().getBytes("iso-8859-1"),"utf-8");
        
        student.setStuName(student.getStuName());
    	
        classes.setClassName(studentService.selectClassName(classes.getId()));
        student.setClasses(classes);
        
        studentService.update(student);
        return "success";
    }
}
ClassesAction.java
package dukun.action;

import java.util.List;

import javax.annotation.Resource;

import dukun.model.Classes;
import dukun.model.Student;
import dukun.service.ClassesService;

public class ClassesAction {

	@Resource(name="classesServiceBean")
	private ClassesService classesService;
	private Classes classes;
	private List<Object> classesList;
	private Student student;

	public Student getStudent() {
		return student;
	}

	public void setStudent(Student student) {
		this.student = student;
	}

	public List<Object> getClassesList() {
		return classesList;
	}
	
	public Classes getClasses() {
		return classes;
	}
	
	public void setClassesService(ClassesService classesService) {
		this.classesService = classesService;
	}
	
	public String find(){
		classes = classesService.find(Classes.class, "40282681562b263401562b2656090001");
		return "success";
	}
	
	public String listAllClasses(){
		String hql = "from Classes";
		classesList = classesService.list(hql);
		return "success";
	}

}
三层代码编写完成,最后是前端的页面显示。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值